背景:

作为系统管理员,你可能经常会(在某个时候)需要查看系统中有哪些用户正在活动。有些时候,你甚至需要知道他(她)们正在做什么。本文为我们总结了查看系统用户信息(通过编号(ID))的方法。

查看所有用户组:

$ cat /etc/group
root:x:0:
daemon:x:1:
bin:x:2:

查看所有用户

$ sudo cat /etc/shadow


chenxinming:$6$JCFgBZPy$NrrKOd0ljRMhDh8SEJ67zrq/4YTYnIGbg9kQNnaYB7El82HumBJtIj9rqF47wK4oJ.Ds6EU1CRxYQIfKm6VWe.:17683:0:99999:7:::

## chenxinming 是用户名

使用w命令查看登录用户正在使用的进程信息

w命令用于显示已经登录系统的用户的名称,以及他们正在做的事。该命令所使用的信息来源于/var/run/utmp文件。w命令输出的信息包括:

  • 用户名称

  • 用户的机器名称或tty号

  • 远程主机地址

  • 用户登录系统的时间

  • 空闲时间(作用不大)

  • 附加到tty(终端)的进程所用的时间(JCPU时间)

  • 当前进程所用时间(PCPU时间)

  • 用户当前正在使用的命令

w命令还可以使用以下选项

  • -h忽略头文件信息

  • -u显示结果的加载时间

  • -s不显示JCPU, PCPU, 登录时间

w

$ w
 13:50:47 up 11 days, 19:22,  1 user,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
chenxinm pts/1    192.168.1.126    14Aug20  1.00s  0.13s  0.00s w

w -h

$ w -h
chenxinm pts/1    192.168.1.126    14Aug20  2.00s  0.13s  0.00s w -h

w -u

$ w -u
 13:51:33 up 11 days, 19:23,  1 user,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
chenxinm pts/1    192.168.1.126    14Aug20  2.00s  0.13s  0.00s w -u

w -s

$ w -s
 13:51:53 up 11 days, 19:23,  1 user,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              IDLE WHAT
chenxinm pts/1    192.168.1.126     1.00s w -s

使用who命令查看(登录)用户名称及所启动的进程

who命令用于列举出当前已登录系统的用户名称。其输出为:用户名、tty号、时间日期、主机地址。

>>>  who
chenxinming pts/4        2018-08-02 03:30 (192.168.3.221)
chenxinming pts/6        2018-08-06 11:19 (192.168.3.221)
chenxinming pts/7        2018-08-07 03:27 (192.168.3.221)
chenxinming pts/8        2018-08-08 05:27 (192.168.3.240)
chenxinming pts/9        2018-08-08 16:09 (192.168.3.240)
chenxinming pts/10       2018-08-10 08:28 (192.168.3.221)

如果只希望列出用户,可以使用如下语句:

$ who | cut -d' ' -f1 | sort | uniq
chenxinming

who am i命令能显示当前登入的用户名称,以及当前所使用的tty信息。该命令的输出结果包括如下内容:用户名、tty名、当前时间日期,同时还包括用户登录系统所使用的链接地址。

$ who am i
chenxinming pts/1        2020-08-14 19:12 (192.168.1.126)

who mom likes

$ who mom likes
chenxinming pts/1        2020-08-14 19:12 (192.168.1.126)

Warning: Don't try "who mom hates" command.

当然,如果你使用su命令改变用户,则该命令(whoami)所显示的结果将随之改变。

users命令,可用于打印输出登录服务器的用户名称。该命令除了有help和version选项外,再没有其他选项。如果某用户使用了多个终端,则相应的会显示多个重复的用户名。

users

$ users
chenxinming

使用whoami命令查看你所使用的登录名称

whoami命令用于显示登入的用户名。

$ whoami
chenxinming

whoami命令的执行效果和id -un的效果完全一样,例如:

$ id -un
chenxinming

查看系统最近登录情况(曾经使用过系统的用户信息)

last命令可用于显示特定用户登录系统的历史记录。如果没有指定任何参数,则显示所有用户的历史信息。在默认情况下,这些信息(所显示的信息)将来源于/var/log/wtmp文件。该命令的输出结果包含以下几列信息:

  • 用户名称

  • tty设备号

  • 历史登录时间日期

  • 登出时间日期

  • 总工作时间

$ last chenxinming
chenxinm pts/1        192.168.1.126    Fri Aug 14 19:12   still logged in   
chenxinm tty1                          Fri Aug 14 19:10 - 19:11  (00:00)    
chenxinm pts/4        192.168.1.126    Fri Aug 14 16:51 - down   (01:35)    
chenxinm pts/0        192.168.1.126    Fri Aug 14 12:34 - down   (05:52)    
chenxinm tty1                          Fri Aug 14 12:32 - down   (05:54)    
chenxinm pts/0        192.168.1.126    Fri Aug 14 11:41 - down   (00:12)    
chenxinm tty1                          Fri Aug 14 11:38 - down   (00:15)    
chenxinm pts/1        192.168.1.126    Fri Aug 14 11:20 - down   (00:08)    
chenxinm tty1                          Fri Aug 14 11:16 - down   (00:12)    
chenxinm pts/3        192.168.1.126    Tue Aug 11 19:19 - crash (2+15:40)   
chenxinm tty1                          Tue Aug 11 11:46 - 11:49  (00:02)    

wtmp begins Tue Aug 11 11:46:27 2020

“ps -u 用户名”命令查看该用户的pid

>>> ps -u chenxinming
  PID TTY          TIME CMD
 2456 ?        00:00:00 sshd
 2487 pts/7    00:00:00 bash
 6643 pts/8    00:00:33 python
 8800 ?        00:00:00 sshd
 8801 pts/10   00:00:00 bash
14014 ?        00:00:01 sshd
14015 pts/6    00:00:00 bash
21035 pts/7    00:00:00 bash
25352 ?        00:02:42 sshd
25353 pts/4    00:00:00 bash
30648 ?        00:00:24 sshd
30649 pts/8    00:00:00 bash
31199 ?        00:00:00 sshd
31200 pts/9    00:00:00 bash

“kill pid”命令,杀掉他的sshd或者是shell进程

本文地址: http://chenxm.cc/article/17.html
版权声明: 本文为原创文章,版权归  陈新明  所有,欢迎分享本文,转载请保留出处!
上一篇: python django 最简单获取文章摘要方法
下一篇: sqlalchemy 查询值/结果是否存在表中
发表评论

还没有留言,还不快点抢沙发?