插件窝 干货文章 管理Linux用户:列出所有用户

管理Linux用户:列出所有用户

用户 passwd bash 列出 185    来源:    2025-04-09

列出Linux系统中的所有用户

在Linux系统中,有几种方法可以列出所有用户账户。以下是常用的方法:

1. 查看/etc/passwd文件

这是最直接的方法,因为所有本地用户账户都存储在这个文件中:

cat /etc/passwd

或者使用更友好的格式:

cut -d: -f1 /etc/passwd

2. 使用getent命令(包括LDAP/NIS用户)

getent passwd

或只显示用户名:

getent passwd | cut -d: -f1

3. 使用compgen命令(仅bash)

compgen -u

4. 列出当前登录的用户

who

users

5. 列出有登录shell的用户(排除系统账户)

grep -v "/sbin/nologin" /etc/passwd | cut -d: -f1

6. 列出UID在一定范围内的用户(通常普通用户UID≥1000)

getent passwd {1000..60000}

7. 使用awk处理passwd文件

awk -F: '{ print $1 }' /etc/passwd

注意事项

  1. /etc/passwd中的每一行代表一个用户,格式为:

    用户名:密码占位符:UID:GID:用户全名或描述:主目录:登录shell
    
  2. 系统账户通常有UID小于1000

  3. 某些命令可能需要root权限才能查看所有用户信息

  4. 在大型企业环境中,用户可能存储在LDAP或其他目录服务中,这时getent命令会更全面