当前位置:首页 > Linux > 正文

Linux查看用户有哪些命令

查看Linux用户主要命令: ,1. 查看所有用户: cat /etc/passwd 或 getent passwd ,2. 查看当前登录用户: who 或 w ,3. 查看用户组信息: id 用户名 ,4. 查看特权用户: grep '^sudo' /etc/group

查看当前登录用户

  1. who 命令

    显示当前登录系统的用户列表,包括终端、登录时间和IP地址(远程登录时)。

    who # 输出示例: # root tty1 2025-10-01 09:30 # alice pts/0 2025-10-01 10:15 (192.168.1.5)
  2. w 命令

    更详细的信息:用户、终端、登录时间、当前进程(如bash或ssh)。

    w # 输出示例: # 10:20:01 up 2 days, 3:15, 2 users, load average: 0.00, 0.01, 0.05 # USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT # root tty1 - 09:30 1:00 0.10s 0.01s -bash # alice pts/0 192.168.1.5 10:15 0.00s 0.20s 0.00s w
  3. users 命令

    仅列出登录用户名(去重后):

    users # 输出示例:root alice


查看系统所有用户

  1. /etc/passwd 文件

    存储所有用户账户的核心信息(加密密码在/etc/shadow中)。

    cat /etc/passwd

    字段解析(以冒号分隔):

    username:password_placeholder:UID:GID:Full_Name:home_directory:login_shell # 示例:alice:x:1001:1001:Alice Smith:/home/alice:/bin/bash
    • UID:用户ID(0=root,1-999=系统用户,1000+=普通用户)。
    • GID:主组ID。
    • login_shell:用户默认Shell(/sbin/nologin表示禁止登录)。
  2. getent passwd 命令

    兼容网络用户(如LDAP),输出格式同/etc/passwd:

    getent passwd


查看用户组信息

  1. /etc/group 文件

    显示所有用户组及成员列表:

    Linux查看用户有哪些命令 第1张

    cat /etc/group

    字段解析

    group_name:password_placeholder:GID:member_list # 示例:developers:x:1002:alice,bob
  2. groups 命令

    查看指定用户的所属组:

    groups alice # 输出:alice : developers sudo


查看用户详细信息

  1. id 命令

    显示用户UID、GID及所属组:

    id alice # 输出:uid=1001(alice) gid=1001(alice) groups=1001(alice),1002(developers),27(sudo)
  2. finger 命令(需安装)

    获取用户全名、Shell、家目录等:

    Linux查看用户有哪些命令 第2张

    sudo apt install finger # Debian/Ubuntu finger alice


特殊场景

  • 查看sudo权限用户

    grep '^sudo' /etc/group # 输出:sudo:x:27:alice
  • 检查用户登录历史

    last alice # 显示用户alice的登录记录
  • 查看用户进程

    top -u alice # 实时监控alice的进程 ps -u alice # 列出alice的所有进程


注意事项

  1. 权限要求
    • 普通用户可查看/etc/passwd、/etc/group等公共文件。
    • 敏感文件(如/etc/shadow)需root权限,避免误操作。
  2. 安全建议
    • 定期审计用户列表:grep -E ":/bin/(bash|sh)" /etc/passwd(检查可登录用户)。
    • 删除无用账户:sudo userdel username。
    • 修改用户属性:usermod(如禁用Shell)。


需求场景 推荐命令
当前登录用户 who, w, users
所有用户账户 cat /etc/passwd, getent passwd
用户组信息 cat /etc/group, groups
用户详细信息 id, finger
权限与登录历史 grep '^sudo' /etc/group, last

引用说明

  • 基于Linux核心文档(man手册页)及Unix/Linux系统管理标准实践。
  • 命令兼容主流发行版(Ubuntu, CentOS, Debian等),操作前建议查阅官方文档:https://www.kernel.org/doc/
  • 安全规范参考Linux Foundation安全指南:https://training.linuxfoundation.org/
  • 部分命令(如finger)需额外安装包,请按发行版说明操作。

Linux查看用户有哪些命令 第3张

0