Linux服务器查看当前用户与用户切换方法详解

admin
Linux服务器中,查看当前用户可通过whoami(显示有效用户)、who am i(显示登录用户信息)及id(显示用户ID及所属组)实现,用户切换主要使用su命令:su - username切换至目标用户并加载其环境配置,su username仅切换身份不加载环境;sudo command则允许以管理员权限执行命令,需通过sudoers文件配置授权,这些方法为日常运维提供了灵活的用户管理能力。

在Linux服务器管理中,用户身份的查看与切换是基础且高频操作,无论是日常运维还是故障排查,准确掌握当前用户状态、灵活切换用户身份,都能提升操作效率并保障系统安全,本文将详细介绍Linux服务器中查看当前用户的多种方法,以及不同场景下的用户切换技巧。

如何查看服务器当前用户?

Linux提供了多种命令查看当前登录用户及用户信息,可根据需求选择合适的工具。

whoami:快速显示当前有效用户

作用:最简洁的命令,直接返回当前登录用户的用户名(即当前进程的有效用户ID)。
用法

Linux服务器查看当前用户与用户切换方法详解

whoami

示例

[root@server ~]# whoami
root
[centos@server ~]# whoami
centos

适用场景:仅需确认当前操作用户身份时,优先使用此命令。

who:查看登录用户及终端信息

作用:显示当前所有登录系统的用户信息,包括用户名、终端设备、登录时间、远程IP(如果是SSH登录)等。
用法

who [选项]

常用选项

  • -u:显示用户的空闲时间(终端无操作的时间);
  • -q:仅显示登录用户的数量及用户名列表。

示例

[root@server ~]# who
centos  pts/0        2023-10-01 10:30 (192.168.1.100)  # SSH登录用户
root    pts/1        2023-10-01 11:15 (192.168.1.101)  # 当前root用户
[root@server ~]# who -u
centos  pts/0        2023-10-01 10:30 00:15  .       12345  # 空闲15分钟
root    pts/1        2023-10-01 11:15 00:00  ?       12346  # 当前活跃
[root@server ~]# who -q
2 users: centos root

适用场景:需要查看所有登录用户及其活跃状态时(如排查异常登录)。

w:查看用户详细活动及系统负载

作用who的增强版,除显示用户登录信息外,还会展示系统当前负载(1/5/15分钟平均负载)、运行任务数、当前时间等。
用法

w [选项] [用户名]

常用选项

  • -h:不显示表头;
  • -s:简化显示,不显示终端空闲时间、JCPU/PCPU等。

示例

[root@server ~]# w
 10:30:00 up 10 days,  3:15,  2 users,  load average: 0.05, 0.10, 0.08
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
centos   pts/0    192.168.1.100   10:30    1:15   0.05s  0.05s -bash
root     pts/1    192.168.1.101   11:15    0.00s  0.02s  0.00s w

字段说明

  • USER:用户名;
  • TTY:终端设备(pts/0为虚拟终端,tty1为本地物理终端);
  • FROM:登录来源IP(本地显示console);
  • LOGIN@:登录时间;
  • IDLE:终端空闲时间;
  • JCPU:该终端所有进程的总CPU时间;
  • PCPU:当前进程的CPU时间;
  • WHAT:当前执行的命令。

适用场景:需要结合系统负载和用户活动综合分析时(如服务器性能排查)。

users:显示所有登录用户名列表

作用:以空格分隔列出当前所有登录系统的用户名(重复用户名仅显示一次)。
用法

users

示例

[root@server ~]# users
centos root

适用场景:仅需快速获取登录用户名集合时(如脚本中统计用户数量)。

id:显示当前用户及所属组信息

作用:不仅显示当前用户名,还会展示用户ID(UID)、所属组ID(GID)及附加组信息。
用法

id [选项] [用户名]

常用选项

  • -u:仅显示UID;
  • -g:仅显示主GID;
  • -G:显示所有附加GID。

示例

[root@server ~]# id
uid=0(root) gid=0(root) groups=0(root)  # root用户默认属于root组
[centos@server ~]# id
uid=1000(centos) gid=1000(centos) groups=1000(centos),10(wheel)  # centos用户属于centos主组+wheel附加组
[centos@server ~]# id -u
1000
[centos@server ~]# id -G
1000 10

适用场景:需要确认用户ID、组权限或排查权限问题时(如文件操作权限异常)。

Linux用户切换方法

Linux中用户切换主要通过susudo命令实现,二者在权限、环境加载和安全性上存在差异。

su:切换用户身份

作用:Switch User,用于切换到指定用户(默认切换到root),需输入目标用户密码(root切换到其他用户无需密码)。

基本用法

  • 切换到root用户
    su  # 输入目标用户密码(普通用户需root密码,root切换无需密码)
    su -  # �
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码