Linux服务器列表可以登录的用户



我想要一个单线外壳命令或简短的bash/python脚本,该脚本将列出可以登录到该计算机的Linux服务器上的所有用户。因此,当然会排除www-data和邮件之类的用户,但是root将是列表的一部分。

例如,此代码有效。我在这里找到了。但是我正在寻找更简单的东西。

awk -F: '$2 != "*" && $2 !~ /^!/ { print $1, " can log in" }' /etc/shadow

您可以使用此onereliner列出所有在/etc/shadow中设置密码的用户,每行:

getent shadow | egrep '^[^:]*:[*!]:' -v | cut -f1 -d:

这仅适用于本地用户,而不适用于使用LDAP数据库或其他方法。

如果您使用的是LDAP,并且想在目录中列出所有用户,则可以尝试:

getent passwd | cut -f1 -d:

尽管这将列出所有用户,包括"非用户"帐户,例如www-data

我在上找到了bash脚本,查找可以使用密码登录的Linux用户

bash版本:

awk -F: '$2 != "*" && $2 !~ /^!/ { print $1, " can log in" }' /etc/shadow

Python版本:

users = [i.split(':') for i in open('/etc/shadow').readlines()]
print 'n'.join([i[0] for i in users if i[1] not in ('!', '*')])

相关内容

  • 没有找到相关文章

最新更新