A ferramenta "smbstatus" deve mostrar os usuários atualmente ativos em um servidor. Pode haver alguns falsos positivos, pois as estações de trabalho geralmente mantêm as conexões abertas após o usuário ter feito logoff.
Eu não encontrei uma opção pdbedit ou smbldap-userlist para listar apenas os usuários ativos do samba.
A solução na questão [1] lista todos os usuários e máquinas e smbldap-userlist -ua lista todos os usuários, mesmo que estejam inativos. Quero dizer Inativo, não um usuário desconectado, mas um usuário que não está mais ativo no domínio.
Eu tentei awk e grep para analisar a saída, mas não consegui corresponder a um padrão na coluna [status SMB].
Alguém tem uma solução de linha de comando ou shell? (embora, uma solução Python seja muito bem vinda)
A ferramenta "smbstatus" deve mostrar os usuários atualmente ativos em um servidor. Pode haver alguns falsos positivos, pois as estações de trabalho geralmente mantêm as conexões abertas após o usuário ter feito logoff.
você pode usar o seguinte script bash simples. Exclui contas de máquina e contas desativadas (flags de conta W e 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
Tags samba user-accounts