Linux服务器中,查看当前用户可通过whoami(显示有效用户)、who am i(显示登录用户信息)及id(显示用户ID及所属组)实现,用户切换主要使用su命令:su - username切换至目标用户并加载其环境配置,su username仅切换身份不加载环境;sudo command则允许以管理员权限执行命令,需通过sudoers文件配置授权,这些方法为日常运维提供了灵活的用户管理能力。
在Linux服务器管理中,用户身份的查看与切换是基础且高频操作,无论是日常运维还是故障排查,准确掌握当前用户状态、灵活切换用户身份,都能提升操作效率并保障系统安全,本文将详细介绍Linux服务器中查看当前用户的多种方法,以及不同场景下的用户切换技巧。
如何查看服务器当前用户?
Linux提供了多种命令查看当前登录用户及用户信息,可根据需求选择合适的工具。
whoami:快速显示当前有效用户
作用:最简洁的命令,直接返回当前登录用户的用户名(即当前进程的有效用户ID)。
用法:

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中用户切换主要通过su和sudo命令实现,二者在权限、环境加载和安全性上存在差异。
su:切换用户身份
作用:Switch User,用于切换到指定用户(默认切换到root),需输入目标用户密码(root切换到其他用户无需密码)。
基本用法
- 切换到root用户:
su # 输入目标用户密码(普通用户需root密码,root切换无需密码) su - # �

