在 Linux 服务器管理中,经常需要查看当前有哪些用户登录,有时还需要进行会话管理。以下是一些常用的命令和操作:
1. 查看登录用户信息
w 命令 – 显示详细的登录用户信息
[root@k8s-nginx1 ~]# w 10:58:34 up 26 days, 16:59, 2 users, load average: 0.00, 0.04, 0.06 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/1 10.6.0.18 10:57 1:15 0.01s 0.01s -bash root pts/2 10.6.0.18 10:57 2.00s 0.05s 0.01s w
输出说明:
USER: 登录用户名TTY: 终端类型(pts/0, pts/1 等表示伪终端)FROM: 登录来源 IP 地址LOGIN@: 登录时间IDLE: 空闲时间JCPU: 该终端所有进程占用 CPU 时间PCPU: 当前进程占用 CPU 时间WHAT: 用户当前执行的命令
who 命令 – 显示登录用户列表
[root@k8s-nginx1 ~]# who root pts/1 2019-12-19 10:57 (10.6.0.18) root pts/2 2019-12-19 10:57 (10.6.0.18)
who am i 命令 – 显示当前用户信息
[root@k8s-nginx1 ~]# who am i root pts/1 2019-12-19 10:57 (10.6.0.18)
2. 管理用户会话
踢出指定用户
在维护服务器时,有时需要让其他用户下线:
# 踢出指定终端的用户 [root@k8s-nginx1 ~]# pkill -kill -t pts/0
查看自己的终端信息
在踢人之前,先确认自己的终端,避免误操作:
[root@k8s-nginx1 ~]# tty /dev/pts/1
与用户通信
在强制踢出用户前,建议先发送通知:
# 向指定终端发送消息 [root@k8s-nginx1 ~]# echo "系统维护,请下线" > /dev/pts/2
对方终端会立即显示:
text复制下载
系统维护,请下线
3. 其他相关命令
users 命令 – 显示登录用户名
[root@k8s-nginx1 ~]# users root root
last 命令 – 显示登录历史
# 显示最近的登录记录 [root@k8s-nginx1 ~]# last # 显示指定用户的登录记录 [root@k8s-nginx1 ~]# last username
who -b 命令 – 显示系统最近启动时间
[root@k8s-nginx1 ~]# who -b
使用建议
- 沟通优先: 在踢出用户前,尽量先通过
write命令或echo到对方终端进行沟通 - 确认身份: 使用
tty确认自己的终端,避免误操作 - 记录操作: 重要的维护操作应该记录下来
- 合理安排维护时间: 尽量在业务低峰期进行维护操作
这些命令和技巧在日常服务器管理中非常实用,能够帮助你有效监控和管理服务器上的用户会话。