Linux下,可使用
cat /etc/passwd
查看所有用户信息,或用
Linux操作系统中,显示用户信息是一项常见的管理任务,无论是查看当前登录的用户、系统中的所有用户,还是用户的详细信息,Linux都提供了多种命令和工具来实现这些功能,本文将详细介绍如何在Linux下显示用户信息,包括当前登录用户、所有用户以及用户的详细信息,并附上相关的FAQs以解答常见问题。
查看当前登录用户
who
命令
who
命令用于显示当前登录到系统的用户信息,它会列出用户名、登录时间、登录终端等信息。
who
示例输出:
username tty7 2023-10-01 10:00 (:0)
w
命令
w
命令是 who
的增强版,它不仅显示当前登录用户,还显示每个用户正在执行的命令、CPU和内存使用情况等。
w
示例输出:
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
username tty7 :0 10:00 1:00 0.00s 0.00s gnome-shell --wayland
查看系统中的所有用户
cat /etc/passwd
命令
/etc/passwd
文件存储了系统中所有用户的信息,包括用户名、用户ID(UID)、组ID(GID)、主目录、登录Shell等,通过查看这个文件,可以获取系统中所有用户的列表。
cat /etc/passwd
示例输出:
root:x:0:0:root:/root:/bin/bash
user1:x:1000:1000:User One:/home/user1:/bin/bash
user2:x:1001:1001:User Two:/home/user2:/bin/bash
cut
命令结合 /etc/passwd
如果只需要显示用户名,可以使用 cut
命令从 /etc/passwd
文件中提取第一列。
cut -d: -f1 /etc/passwd
示例输出:
root
user1
user2
查看用户的详细信息
id
命令
id
命令用于显示当前用户的UID、GID以及所属的所有组。
id
示例输出:
uid=1000(user1) gid=1000(user1) groups=1000(user1),27(sudo)
getent
命令
getent
命令可以从系统数据库中获取条目,getent passwd
可以显示所有用户的信息,类似于 cat /etc/passwd
,但更灵活。
getent passwd
示例输出:
root:x:0:0:root:/root:/bin/bash
user1:x:1000:1000:User One:/home/user1:/bin/bash
user2:x:1001:1001:User Two:/home/user2:/bin/bash
查看用户的主目录和Shell
getent
命令结合 cut
可以通过 getent
命令结合 cut
来提取用户的主目录或Shell信息。
getent passwd | cut -d: -f6
示例输出:
/root
/home/user1
/home/user2
getent passwd | cut -d: -f7
示例输出:
/bin/bash
/bin/bash
/bin/bash
查看用户的组信息
groups
命令
groups
命令用于显示当前用户所属的所有组。
groups
示例输出:
user1 user1 sudo
getent group
命令
getent group
命令可以显示系统中所有组的信息,包括组名、GID和组成员。
getent group
示例输出:
root:x:0:
sudo:x:27:user1
user1:x:1000:
使用 finger
命令查看用户信息
finger
命令
finger
命令用于显示用户的详细信息,包括登录时间、主目录、Shell、邮件等,需要注意的是,finger
命令可能在某些现代Linux发行版中默认未安装,需要手动安装。
finger user1
示例输出:
Login name: user1 In real life: User One
Directory: /home/user1 Shell: /bin/bash
On since Mon Oct 02 09:00 (CST) on tty7 from :0
Mail last read: Tue Oct 03 10:00 2023 (CST)
No Plan.
使用 lslogins
命令显示登录会话
lslogins
命令
lslogins
命令用于显示当前系统中所有用户的登录会话信息,它类似于 who
,但输出格式更简洁。
lslogins
示例输出:
Username TTY Login Time
user1 tty7 2023-10-01 10:00
使用 last
命令查看登录历史
last
命令
last
命令用于显示最近登录到系统的用户信息,包括登录时间、登录IP等,它可以帮助管理员查看系统的登录历史。
last
示例输出:
user1 tty7 :0 Mon Oct 02 09:00 10:00 (00:23)
root tty7 :0 Sun Sep 25 14:30 14:35 (00:05)
使用 utmpdump
命令查看登录信息
utmpdump
命令
utmpdump
命令用于从 utmp
文件中提取登录会话信息。utmp
文件存储了当前登录会话的信息,utmpdump
可以将其内容以易读的格式输出。
utmpdump /var/run/utmp
示例输出:
USER LINE HOST TIME PROCESS
user1 tty7 2023-10-01 10:00 12345
使用 ps
命令查看用户进程
ps
命令结合 grep
ps
命令用于显示当前系统中的进程信息,结合 grep
可以过滤出特定用户的进程。
ps aux | grep user1
示例输出:
user1 12345 0.0 0.1 123456 7890 ? Ss 10:00 0:00 /usr/lib/gnome-terminal/gnome-terminal-server
user1 12346 0.0 0.0 12345 6789 ? Ssl 10:00 0:00 gnome-pty-helper
使用 top
或 htop
命令查看用户资源使用情况
top
命令
top
命令用于实时显示系统中各个进程的资源使用情况,包括CPU、内存等,默认情况下,top
会按CPU使用率排序,但可以通过交互命令切换到按用户排序。
top
在 top
界面中,按下 u
键,然后输入用户名,可以只显示该用户的进程。
htop
命令
htop
是 top
的增强版,提供了更友好的界面和更多的交互功能,同样可以通过交互命令按用户排序或过滤特定用户的进程。
htop
使用 w
命令查看用户活动详情
w
命令
w
命令不仅显示当前登录用户,还显示每个用户的活动详情,包括正在执行的命令、CPU和内存使用情况等,它是 who
的增强版,提供了更全面的信息。
w
示例输出:
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
user1 tty7 :0 10:00 1:00 0.50s 0.20s gnome-shell --wayland
使用 lastlog
命令查看用户上次登录时间
lastlog
命令
lastlog
命令用于显示每个用户上次登录的时间,它从 /var/log/lastlog
文件中读取数据,该文件记录了每个用户的最后登录时间。
lastlog
示例输出:
Username Port From Latest
root tty7 Wed Sep 28 14:35 14:35 (00:00)
user1 tty7 Mon Oct 02 09:00 10:00 (01:00)
使用 getent
命令查看用户密码状态
getent shadow
命令
getent shadow
命令用于显示 /etc/shadow
文件中的内容,该文件存储了用户的密码状态、密码过期时间等信息,需要注意的是,只有root用户或有相应权限的用户才能查看此文件。
sudo getent shadow
示例输出:
root:$6$randomsalt$hashedpassword:18000:0:99999:7:::
user1:$6$randomsalt$hashedpassword:18000:0:99999:7:::
user2:*:18000:0:99999:7:::
使用 chage
命令查看用户密码策略
chage
命令
chage
命令用于查看和修改用户的密码策略,包括密码有效期、账户过期时间等,通过 chage -l
可以查看指定用户的密码策略。
sudo chage -l user1
示例输出:
Last password change | Password Expires | Password Inactive | Account Expires | Minimum Number of Days Between Password Changes | Maximum Number of Days Between Password Changes | Number of Days of Warning Before Password Expires |
Mon Oct 02 09:00 2023 NSW, Australia (AEST) / EDT | Wed Mar 30 23:59:59 2024 NSW, Australia (AEDT) | never | never | 1 | 99999
小伙伴们,上文介绍如何显示linux下的用户的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/10549.html