一、查看所有用户
1. 使用/etc/passwd
文件
/etc/passwd
文件包含了系统中所有用户的基本信息,每一行代表一个用户,格式如下:
用户名:密码占位符:用户ID:组ID:用户信息:主目录:登录Shell
查看所有用户:可以使用cat /etc/passwd
命令来查看所有用户的信息。
cat /etc/passwd
输出示例:
root:x:0:0:root:/root:/bin/bash user1:x:1001:1001::/home/user1:/bin/bash user2:x:1002:1002::/home/user2:/bin/bash
只显示用户名:如果只需要显示用户名,可以使用cut
命令提取第一列。
cat /etc/passwd | cut d ':' f 1
输出示例:
root user1 user2
2. 使用getent
命令
getent
命令可以从系统数据库中获取条目,包括用户信息。
查看所有用户:使用getent passwd
命令可以列出所有用户。
getent passwd
输出示例与cat /etc/passwd
相同。
二、查看当前登录用户
1. 使用who
命令
who
命令用于显示当前登录到系统的用户。
查看当前登录用户:直接使用who
命令。
who
输出示例:
user1 pts/0 20240716 10:00 (192.168.1.100) user2 pts/1 20240716 10:05 (192.168.1.101)
2. 使用w
命令
w
命令不仅显示当前登录的用户,还显示他们正在执行的进程。
查看当前登录用户及他们的活动:使用w
命令。
w
输出示例:
23:45:12 up 3 days, 4:32, 2 users, load average: 0.05, 0.04, 0.03 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT user1 pts/0 192.168.1.100 16:00 5:30m 0.02s 0.01s bash user2 pts/1 192.168.1.101 16:05 5:25m 0.01s 0.01s bash
三、查看特定用户的信息
1. 使用id
命令
id
命令用于显示指定用户的UID(用户标识符)、GID(组标识符)和所属组。
查看特定用户的信息:使用id <username>
命令。
id john
输出示例:
uid=1001(john) gid=1001(john) groups=1001(john)
2. 使用groups
命令
groups
命令用于显示指定用户所属的所有组。
查看特定用户所属的组:使用groups <username>
命令。
groups john
输出示例:
john : john wheel developers
四、查看用户的登录历史记录
使用last
命令
last
命令用于显示用户的登录历史记录,包括登录时间和登出时间。
查看特定用户的登录历史:使用last <username>
命令。
last john
输出示例:
john pts/0 192.168.1.100 Fri Oct 6 08:30 still logged in john pts/0 192.168.1.100 Thu Oct 5 08:25 10:30 (02:05)
五、查看用户的密码过期信息
使用chage
命令
chage
命令用于显示和修改用户密码的过期信息。
查看特定用户的密码过期信息:使用chage l <username>
命令。
chage l john
输出示例:
Last password change : Oct 01, 2023 Password expires : Nov 01, 2023 Password inactive : never Account expires : never Minimum number of days between password change : 0 Number of days of warning before password expires : 7
六、查看系统中所有用户的账户信息
使用getent
命令结合passwd
选项
getent passwd
命令可以显示系统中所有用户的详细信息,与直接查看/etc/passwd
文件效果相同。
查看所有用户的账户信息:使用getent passwd
命令。
getent passwd
输出示例与cat /etc/passwd
相同。
七、其他相关命令
1.whoami
命令
whoami
命令用于显示当前登录用户的用户名。
显示当前登录用户:使用whoami
命令。
whoami
输出示例:
user1
2.users
命令
users
命令用于显示当前登录到系统的用户列表,如果某用户使用了多个终端,则相应的会显示多个重复的用户名。
显示当前登录用户:使用users
命令。
users
输出示例:
user1 user2 user3
掌握这些命令可以帮助你更好地管理和维护CentOS系统的安全性和性能,通过合理使用这些工具,你可以有效地监控系统中的用户活动,确保系统的安全运行。