Linux如何查看用户的状态
Linux如何查看用户的状态详细介绍
在 Linux 系统中,可以通过多种命令和工具查看用户的状态,包括用户基本信息、登录状态、权限、密码状态等。以下是常用方法:
一、查看用户基本信息
id命令
查看用户的 UID(用户 ID)、GID(主组 ID)、附加组等信息。
bash用户名输出示例:
plaintextuid=1000(ubuntu) gid=1000(ubuntu) 组=1000(ubuntu),27(sudo),100(users)/etc/passwd文件
存储所有用户的基本信息(明文,所有用户可读),包括用户名、UID、主目录、默认 Shell 等。
bash用户名 /etc/passwd输出格式:
plaintext用户名:密码占位符:UID:GID:用户说明:主目录:默认Shell
二、查看用户登录状态
who/w/users命令who:显示当前登录的用户(含登录时间、终端、IP 等)。bashw:在who的基础上,额外显示用户正在执行的命令。bashwusers:简洁列出所有登录用户的用户名(用空格分隔)。bash
last命令
查看用户的登录历史(包括成功和失败记录)。
bashlast 用户名lastlog命令
显示所有用户的最后一次登录时间。
bashlastlog
三、查看用户密码状态
passwd -S命令
查看用户密码的状态(是否过期、锁定等)。
bash用户名输出示例:
plaintextubuntu PS 2023-10-01 0 99999 7 -1 # PS=密码已设置,后续为过期信息/etc/shadow文件
存储用户密码的加密信息及过期策略(仅管理员可读)。
bash用户名 /etc/shadow
四、查看用户所属组
groups命令
查看用户所属的主组和附加组。
bash用户名getent group命令
通过组名或 GID 查看组内所有用户。
bashgetent group 组名
五、查看用户进程
ps命令
查看指定用户运行的进程。
bash用户名top/htop
在交互式界面中按用户过滤进程(输入u后输入用户名)。
六、其他状态信息
- 用户主目录权限:
bash/home/用户名/home/用户名
- 用户是否被锁定:
检查/etc/shadow中密码字段是否以!或!!开头(锁定状态)。
bash用户名 /etc/shadow -d:
总结
根据需求选择合适的命令:
- 基础信息:
id、grep /etc/passwd - 登录状态:
who、w、last、lastlog - 密码状态:
passwd -S、/etc/shadow - 所属组:
groups - 进程:
ps -u、top
普通用户可查看自身信息,查看其他用户或敏感信息(如 shadow)需管理员权限(sudo)。