Linux查看用户有哪些命令

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

查看当前登录用户

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

    Linux查看用户有哪些命令

    who
    # 输出示例:  
    # root     tty1         2025-10-01 09:30
    # alice    pts/0        2025-10-01 10:15 (192.168.1.5)
  2. w 命令
    更详细的信息:用户、终端、登录时间、当前进程(如bashssh)。

    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

    Linux查看用户有哪些命令

    getent passwd

查看用户组信息

  1. /etc/group 文件
    显示所有用户组及成员列表:

    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查看用户有哪些命令

    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)需额外安装包,请按发行版说明操作。

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/25884.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月16日 00:30
下一篇 2025年6月16日 00:37

相关推荐

  • Linux系统是32位还是64位?一招秒查!

    通过命令行执行 uname -m 或 arch 查看系统架构,若显示 x86_64、aarch64 或 arm64 则为64位系统;若显示 i386、i686 或 armv7l 等则为32位,getconf LONG_BIT 可直显位数(32或64)。

    2025年6月3日
    600
  • Linux查看磁盘空间快速方法

    使用 df -h 命令直接查看所有磁盘分区的使用情况,包括总容量、已用空间、可用空间和挂载点,-h 参数使容量以人性化单位(如GB, MB)显示,要查看具体目录大小,可使用 du -sh 目录路径 命令。

    2025年6月7日
    200
  • Linux服务器版本如何查看

    查询Linux版本信息,常用命令如下:,1. **发行版信息**:lsb_release -a 或 cat /etc/*release。,2. **内核版本**:uname -r。

    2025年6月10日
    000
  • Linux服务器如何发送数据包?

    在Linux服务器上发送网络数据包可使用多种工具:通过ping命令发送ICMP探测包测试连通性;用tcpdump捕获或构造特定流量;借助hping3、nc(netcat)或socat等工具实现TCP/UDP层自定义发包,满足测试或调试需求。

    2025年6月9日
    100
  • Linux如何查看占用端口

    Linux中通过netstat、lsof或更新的ss命令查看端口占用情况,常用命令如 sudo ss -tuln 可列出正在监听的TCP/UDP端口及其进程信息,lsof -i :端口号可精确查询指定端口。

    2025年6月8日
    000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN