在Linux系统中,可以通过多种方式查看所有用户。以下是常用的方法:
/etc/passwd
文件所有本地用户信息存储在 /etc/passwd
文件中,每行代表一个用户。
cat /etc/passwd
或使用 less
分页查看:
less /etc/passwd
输出格式:
username:x:UID:GID:description:home_directory:shell
- x
表示密码已加密(实际密码存储在 /etc/shadow
中)。
- 普通用户的UID通常从1000开始,系统用户(如root
、daemon
)的UID小于1000。
getent
命令getent
可以查看包括本地和网络(如LDAP)用户的信息:
getent passwd
输出格式与 /etc/passwd
相同。
通过 awk
或 cut
提取用户名(第一列):
cut -d: -f1 /etc/passwd
或
awk -F: '{print $1}' /etc/passwd
who
:显示当前登录的用户及终端信息。
bash
who
w
:显示更详细的登录用户及活动。
bash
w
users
:仅列出登录用户名。
bash
users
bash
cat /etc/group
bash
groups <username>
或
bash
id <username>
过滤普通用户:
awk -F: '$3 >= 1000 {print $1}' /etc/passwd
过滤系统用户:
awk -F: '$3 < 1000 {print $1}' /etc/passwd
查看 /etc/shadow
文件(需sudo
权限):
sudo cat /etc/shadow
如果用户密码字段为!
或*
,表示该用户无法通过密码登录。
/etc/shadow
)。getent passwd
查看。根据需求选择合适的方法即可。