Linux 查看和管理服务器登录用户

在 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

使用建议

  1. 沟通优先: 在踢出用户前,尽量先通过 write 命令或 echo 到对方终端进行沟通
  2. 确认身份: 使用 tty 确认自己的终端,避免误操作
  3. 记录操作: 重要的维护操作应该记录下来
  4. 合理安排维护时间: 尽量在业务低峰期进行维护操作

这些命令和技巧在日常服务器管理中非常实用,能够帮助你有效监控和管理服务器上的用户会话。

Comments

No comments yet. Why don’t you start the discussion?

发表回复

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