插件窝 干货文章 方法:在Linux操作系统中查看用户

方法:在Linux操作系统中查看用户

用户 查看 登录 bash 301    来源:    2025-04-09

在Linux系统中查看用户信息有多种方法,以下是常用的命令和详细说明:


1. 查看当前登录用户

who          # 显示当前登录用户及登录时间、终端信息
w            # 更详细的登录用户信息(包括正在执行的命令)
users        # 仅显示当前登录的用户名列表

2. 查看系统所有用户

cat /etc/passwd   # 查看所有用户(包括系统用户)
  • 输出格式
    username:x:UID:GID:description:home_directory:shell
    例如:ubuntu:x:1000:1000:Ubuntu User:/home/ubuntu:/bin/bash

  • 仅提取用户名

    cut -d: -f1 /etc/passwd
    

3. 查看有效用户(可登录用户)

getent passwd           # 等同于cat /etc/passwd(支持LDAP等扩展)
grep -v /sbin/nologin /etc/passwd  # 过滤不可登录用户

4. 查看用户所属组

groups [username]      # 查看指定用户的所属组(不填参数则查当前用户)
id [username]          # 显示用户UID、GID及所属组信息

5. 查看最近登录的用户

last                  # 查看用户登录历史(读取/var/log/wtmp)
lastlog               # 显示所有用户最近一次登录时间

6. 查看特权用户(sudo权限)

grep '^sudo' /etc/group  # 查看sudo组成员
sudo -l                 # 查看当前用户的sudo权限

7. 用户管理工具(需root权限)

useradd -l             # 查看useradd命令选项(创建用户)
usermod -l            # 修改用户属性
userdel -l            # 删除用户

常见场景示例:

  1. 快速列出所有可登录用户

    grep -v "/sbin/nologin" /etc/passwd | cut -d: -f1
    
  2. 检查某用户是否存在

    id username 2>/dev/null && echo "用户存在" || echo "用户不存在"
    
  3. 查看用户的家目录

    grep "^username:" /etc/passwd | cut -d: -f6
    

注意事项:

  • /etc/passwd 包含所有用户,但部分用户(如nobody)是系统服务用的伪用户。
  • 普通用户的UID通常≥1000(不同发行版可能不同)。
  • 需要root权限才能修改用户信息。

如果需要进一步分析用户权限或行为,可以结合 ls -l /homesudo -U username 等命令。