如何列出活跃的 Samba 用户?

如何列出活跃的 Samba 用户?

我找不到 pdbedit 或 smbldap-userlist 选项来列出活跃的 samba 用户。

问题 [1] 的解决方案列出了所有用户和计算机,而 smbldap-userlist -ua 列出了所有用户,即使他们处于非活动状态。我的意思是非活动用户,不是注销的用户,而是不再在域中活动的用户。

我尝试使用 awk 和 grep 来解析输出,但无法匹配 [status SMB] 列上的模式。

有人有命令行或 shell 解决方案吗?(尽管 Python 解决方案非常受欢迎)

[1]列出 Samba 用户?

答案1

“smbstatus”工具应显示服务器上当前活动的用户。由于工作站通常在用户注销后保持连接打开,因此可能会出现一些误报。

答案2

您可以使用以下简单的 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

相关内容