在Linux系统中,有几种方法可以列出所有用户账户。以下是常用的方法:
这是最直接的方法,因为所有本地用户账户都存储在这个文件中:
cat /etc/passwd
或者使用更友好的格式:
cut -d: -f1 /etc/passwd
getent passwd
或只显示用户名:
getent passwd | cut -d: -f1
compgen -u
who
或
users
grep -v "/sbin/nologin" /etc/passwd | cut -d: -f1
getent passwd {1000..60000}
awk -F: '{ print $1 }' /etc/passwd
/etc/passwd
中的每一行代表一个用户,格式为:
用户名:密码占位符:UID:GID:用户全名或描述:主目录:登录shell
系统账户通常有UID小于1000
某些命令可能需要root权限才能查看所有用户信息
在大型企业环境中,用户可能存储在LDAP或其他目录服务中,这时getent
命令会更全面