探索Linux系统中查看连接用户的方法

1. 查看当前登录用户

在Linux系统中,我们可以通过一些命令来查看当前连接到系统的用户。下面将介绍几种常用的方法。

1.1 使用who命令

who命令可以用来查看当前登录到系统的用户信息,包括用户名、登录时间、登录IP等。

who

输出示例:

user1   tty1         2021-01-01 10:00

user2 pts/0 2021-01-01 11:30 (192.168.1.100)

user3 pts/1 2021-01-01 12:15 (192.168.1.101)

以上示例输出了当前登录系统的三个用户的信息,包括用户名、登录终端和登录时间。其中,tty1代表系统的本地终端,pts/0和pts/1代表远程终端。登录IP地址信息通常也会显示在括号中。

1.2 使用w命令

w命令与who命令类似,可以查看当前登录用户的信息,不过该命令输出的信息更加详细。

w

输出示例:

 10:00:01 up 5 days, 12:30,  3 users,  load average: 0.00, 0.01, 0.05

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

user1 tty1 2021-01-01 10:00 3days 0.05s /bin/bash

user2 pts/0 192.168.1.100 2021-01-01 11:30 4days 0.01s /bin/bash

user3 pts/1 192.168.1.101 2021-01-01 12:15 3days 0.02s /bin/bash

以上示例输出中,第一行显示了系统的运行时间和平均负载情况。接下来的每一行显示了每个登录用户的详细信息,包括用户名、终端、登录IP、登录时间、闲置时间和所执行的命令。

2. 查看当前连接用户的数量

除了查看具体用户信息外,我们也可以使用一些命令来查看当前连接到系统的用户数量。

2.1 使用who命令

who | wc -l

上述命令通过管道将who命令的输出传给wc -l命令,wc -l用于计算输入行的数量,从而得到当前连接用户的数量。

输出示例:

3

以上示例输出表示当前连接到系统的用户数量为3。

2.2 使用users命令

users | wc -w

上述命令通过管道将users命令的输出传给wc -w命令,wc -w用于计算输入单词的数量,因此可以得到当前连接用户的数量。

输出示例:

3

以上示例输出表示当前连接到系统的用户数量为3。

3. 查看用户登录历史

在Linux系统中,我们可以查看用户的登录历史记录,以了解用户的登录行为。

3.1 使用last命令

last

last命令可以显示最近登录到系统的用户信息,包括用户名、终端、登录IP、登录时间等。

输出示例:

user1   tty1                          Mon Jan 01 10:00    still logged in

user2 pts/0 192.168.1.100 Mon Jan 01 11:30 still logged in

user3 pts/1 192.168.1.101 Mon Jan 01 12:15 still logged in

以上示例输出显示了最近登录到系统的三个用户的信息。

3.2 使用lastlog命令

lastlog

lastlog命令可以显示所有用户的最近登录历史记录,包括用户名、终端、登录IP、最后登录时间等。

输出示例:

Username         Port     From             Latest

user1 tty1 Sun Jan 01 10:00:00 +0800 2021

user2 pts/0 192.168.1.100 Sun Jan 01 11:30:00 +0800 2021

user3 pts/1 192.168.1.101 Sun Jan 01 12:15:00 +0800 2021

以上示例输出显示了所有用户的最近登录历史记录。

4. 查看当前连接用户的进程

除了查看用户登录信息外,我们还可以查看当前连接用户的进程情况。

4.1 使用ps命令

ps -ef | grep username

将以上命令中的username替换成具体用户名,即可查看该用户的进程信息。

输出示例:

UID        PID  PPID  C STIME TTY      TIME     CMD

user1 1234 1 0 10:00 tty1 00:00:01 /bin/bash

user1 5678 1 0 10:30 tty1 00:00:02 python3 /path/to/script.py

以上示例输出显示了用户名为user1的用户的进程信息,包括进程ID、父进程ID、CPU占用率、运行时间和命令。

5. 查看当前连接用户的登录IP

有时候我们需要了解当前登录用户的IP地址,可以使用以下方法。

5.1 使用who命令

who -uH

以上命令通过-uH选项来显示用户的登录IP地址。

输出示例:

NAME        LINE         TIME             COMMENT

user1 tty1 2021-01-01 10:00

user2 pts/0 2021-01-01 11:30 (192.168.1.100)

user3 pts/1 2021-01-01 12:15 (192.168.1.101)

以上示例输出中,括号中显示了每个用户的登录IP地址。

5.2 使用w命令

w -i

以上命令通过-i选项来显示用户的登录IP地址。

输出示例:

USER     TTY      FROM             LOGIN@   IDLE  JCPU  PCPU  WHAT

user1 tty1 2021-01-01 10:00 3days 0.05s /bin/bash

user2 pts/0 192.168.1.100 2021-01-01 11:30 4days 0.01s /bin/bash

user3 pts/1 192.168.1.101 2021-01-01 12:15 3days 0.02s /bin/bash

以上示例输出中,登录IP地址显示在第二列。

总结

通过本文介绍的方法,我们可以方便地查看Linux系统中当前连接用户的信息,包括用户登录信息、连接用户数量、登录历史记录、用户进程情况以及登录IP地址等。这些信息对于系统管理员来说非常有用,可以帮助他们监控和管理系统的安全性和稳定性。

操作系统标签