1

Я не смог найти опцию pdbedit или smbldap-userlist для перечисления только активных пользователей Samba.

Решение по вопросу [1] перечисляет всех пользователей и машин, а smbldap-userlist -ua перечисляет всех пользователей, даже если они неактивны. Я имею в виду неактивный, не зарегистрированный пользователь, а пользователь, который больше не активен в домене.

Я попытался обработать вывод awk и grep, но не смог сопоставить шаблон в столбце [status SMB].

У кого-нибудь есть решение для командной строки или оболочки? (хотя, решение Python будет очень кстати)

[1] Список пользователей Samba?

2 ответа2

3

Инструмент "smbstatus" должен показывать активных на данный момент пользователей на сервере. Возможны некоторые ложные срабатывания, поскольку рабочие станции часто оставляют соединения открытыми после выхода пользователя из системы.

0

Вы можете использовать следующий простой скрипт bash. Он исключает учетные записи компьютеров и отключенные учетные записи (флаги учетных записей W и D)

#!/bin/bash    
cd ~
lista=`pdbedit -L | sort | uniq | cut -f1 --delimiter=':'`

for i in $lista
do
        ret=`pdbedit -L -v $i | grep "Account Flags" | cut -f2 --delimiter='[' | cut -f1 --delimiter=' '`
        ismachine_account=`echo $ret | grep W | wc -l`
        isdeleted_account=`echo $ret | grep D | wc -l`
        if [ $ismachine_account -eq 0 -a $isdeleted_account -eq 0 ]; then
                echo $i
        fi
done    
exit

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .