识别谁在您的 Linux 系统上登录的 4 种方法
【摘要】 作为系统管理员,您可能想知道在任何给定时间点都有谁在系统上。您可能还想知道他们在做什么。在本文中,让我们了解 4 种不同的方法来识别谁在您的 Linux 系统上。
作为系统管理员,您可能想知道在任何给定时间点都有谁在系统上。您可能还想知道他们在做什么。在本文中,让我们了解 4 种不同的方法来识别谁在您的 Linux 系统上。
1.使用w获取登录用户的运行进程
w 命令用于显示登录的用户名和他们在做什么。该信息将从 /var/run/utmp 文件中读取。w 命令的输出包含以下列:
- 用户名
- 用户的机器号或 tty 号
- 远程机器地址
- 用户登录时间
- 空闲时间(不可用时间)
- 连接到 tty 的所有进程使用的时间(JCPU 时间)
- 当前进程使用的时间(PCPU时间)
- 用户当前正在执行的命令
以下选项可用于 w 命令:
- -h 忽略头信息
- -u 显示平均负载(正常运行时间输出)
- -s 删除 JCPU、PCPU 和登录时间。
$ w
23:04:27 up 29 days, 7:51, 3 users, load average: 0.04, 0.06, 0.02
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
ramesh pts/0 dev-db-server 22:57 8.00s 0.05s 0.01s sshd: ramesh [priv]
jason pts/1 dev-db-server 23:01 2:53 0.01s 0.01s -bash
tiamo pts/2 dev-db-server 23:04 0.00s 0.00s 0.00s w
$ w -h
ramesh pts/0 dev-db-server 22:57 17:43 2.52s 0.01s sshd: ramesh [priv]
jason pts/1 dev-db-server 23:01 20:28 0.01s 0.01s -bash
tiamo pts/2 dev-db-server 23:04 0.00s 0.03s 0.00s w -h
$ w -u
23:22:06 up 29 days, 8:08, 3 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
ramesh pts/0 dev-db-server 22:57 17:47 2.52s 2.49s top
jason pts/1 dev-db-server 23:01 20:32 0.01s 0.01s -bash
tiamo pts/2 dev-db-server 23:04 0.00s 0.03s 0.00s w -u
$ w -s
23:22:10 up 29 days, 8:08, 3 users, load average: 0.00, 0.00, 0.00
USER TTY FROM IDLE WHAT
ramesh pts/0 dev-db-server 17:51 sshd: ramesh [priv]
jason pts/1 dev-db-server 20:36 -bash
tiamo pts/2 dev-db-server 1.00s w -s
2.使用who和users命令获取登录用户的用户名和进程
who 命令用于获取当前登录的用户名列表。 who 命令的输出包含以下列:用户名、tty 编号、日期和时间、机器地址。
$ who
ramesh pts/0 2009-03-28 22:57 (dev-db-server)
jason pts/1 2009-03-28 23:01 (dev-db-server)
tiamo pts/2 2009-03-28 23:04 (dev-db-server)
要获取当前登录的所有用户名的列表,请使用以下命令:
$ who | cut -d' ' -f1 | sort | uniq
tiamo
jason
ramesh
用户命令
users 命令用于打印当前主机中所有当前登录的用户名。它是除了帮助和版本之外没有任何选项的命令之一。如果用户使用'n'个终端,用户名将在输出中显示'n'个次数。
$ users
tiamo jason ramesh
3.使用whoami获取你当前登录的用户名
whoami命令用于打印登录的用户名。
$ whoami
tiamo
whoami 命令提供与id -un相同的输出,如下所示:
$ id -un
tiamo
who am i命令将显示登录用户名和当前 tty 详细信息。此命令的输出包含以下列:登录用户名、tty 名称、当前时间、日期和此用户发起连接的 IP 地址。
$ who am i
tiamo pts/2 2009-03-28 23:04 (dev-db-server)
$ who mom likes
tiamo pts/2 2009-03-28 23:04 (dev-db-server)
Warning: Don't try "who mom hates" command.
此外,如果您对其他用户执行 su,此命令将提供有关登录用户名详细信息的信息。
4.随时获取用户登录历史
last 命令将提供特定用户名的登录历史记录。如果我们不为此命令提供任何参数,它将列出所有用户的登录历史记录。默认情况下,此信息将从 /var/log/wtmp 文件中读取。此命令的输出包含以下列:
- 用户名
- Tty 设备号
- 登录日期和时间
- 登出时间
- 总工作时间
$ last jason
jason pts/0 dev-db-server Fri Mar 27 22:57 still logged in
jason pts/0 dev-db-server Fri Mar 27 22:09 - 22:54 (00:45)
jason pts/0 dev-db-server Wed Mar 25 19:58 - 22:26 (02:28)
jason pts/1 dev-db-server Mon Mar 16 20:10 - 21:44 (01:33)
jason pts/0 192.168.201.11 Fri Mar 13 08:35 - 16:46 (08:11)
jason pts/1 192.168.201.12 Thu Mar 12 09:03 - 09:19 (00:15)
jason pts/0 dev-db-server Wed Mar 11 20:11 - 20:50 (00:39
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)