如何显示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)
酷番叔酷番叔
上一篇 2025年8月13日 21:11
下一篇 2025年8月13日 21:34

相关推荐

  • Linux环境下npm安装的正确步骤和注意事项有哪些?

    在Linux系统中安装npm(Node Package Manager)通常需要先安装Node.js,因为npm是Node.js的默认包管理器,随Node.js一起发布,以下是详细的安装步骤,涵盖主流Linux发行版的不同安装方法,以及常见问题的解决方案,安装前的环境准备在开始安装前,建议确认系统是否已存在No……

    2025年8月22日
    5600
  • linux如何给文件权限

    Linux中,使用chmod命令给文件权限,如`chmod 75

    2025年8月16日
    6200
  • linux如何卸载pycharm

    Linux上卸载PyCharm,可以使用命令sudo apt remove pycharm(适用于Debian/Ubuntu)

    2025年8月14日
    5300
  • Linux下如何安装配置DHCP服务器?

    在Linux系统中配置DHCP(动态主机配置协议)服务器可以自动为网络中的客户端分配IP地址、子网掩码、网关、DNS等网络参数,简化网络管理流程,以下以CentOS 7/8和Ubuntu 18.04/20.04为例,详细介绍DHCP服务器的安装与配置步骤,安装前的准备工作在安装DHCP服务器前,需确保系统满足基……

    2025年9月30日
    3800
  • 8GB U盘选USB 3.0,传输快10倍?

    目标Linux发行版的ISO镜像文件(从官方渠道下载,如Ubuntu官网、Fedora站点等)一台可用的计算机(Windows/macOS/Linux系统均可)重要提醒备份U盘数据:制作过程将永久清除U盘所有内容验证ISO完整性:下载后务必核对SHA256校验值(官方通常提供校验文件)设备兼容性:确认目标电脑支……

    2025年7月15日
    5900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信