如何在 Linux 中列出用户?
具体来说,本地、远程、真实和所有用户。我在同一网络中有多个 Linux 服务器。我想一次列出所有服务器中列出的所有用户。
此外,每个用户都有不同的访问权限,因此我想一次性获取所有用户的详细信息。
答案1
只需运行who
命令(不带任何选项)即可完成此操作。考虑以下示例:
$ who
himanshu tty7 2012-08-07 05:33 (:0)
himanshu pts/0 2012-08-07 06:47 (:0.0)
himanshu pts/1 2012-08-07 07:58 (:0.0)
列出所有本地用户
您可以通过对 passwd (/etc/passwd) 文件执行简单的 cat 操作来列出所有本地用户。
cat /etc/passwd
仅列出真实用户
假设系统上的真实用户的主目录位于 /home。
cat /etc/passwd | grep '/home' | cut -d: -f1
列出所有用户
如果您需要通过许多身份验证服务(例如 NIS、LDAP 等)获取有权访问系统的所有用户的列表,那么命令是getent
。
您可以使用cut
、grep
和awk
命令来修改和格式化输出,如前面的命令中所述。
getent passwd | cut -d: -f1