如何显示linux下的用户

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

使用 tophtop 命令查看用户资源使用情况

top 命令

top 命令用于实时显示系统中各个进程的资源使用情况,包括CPU、内存等,默认情况下,top 会按CPU使用率排序,但可以通过交互命令切换到按用户排序。

top

top 界面中,按下 u 键,然后输入用户名,可以只显示该用户的进程。

htop 命令

htoptop 的增强版,提供了更友好的界面和更多的交互功能,同样可以通过交互命令按用户排序或过滤特定用户的进程。

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

(0)
酷番叔酷番叔
上一篇 1天前
下一篇 1天前

相关推荐

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信