Linux查看和剔除当前登录用户详细教程

简介: Linux查看和剔除当前登录用户详细教程

作为系统管理员,经常需要查看服务器的当前使用用户,和用户使用的进程等信息,下面介绍一些命令用于这些操作的查看


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

命令:w

在这里插入图片描述
==任何一个虚拟控制台登录都会产生一个tty, 每一个远程连接都会产生一个pts==

  1. 开头信息:
  • users: 表示当前系统登陆用户总数为6。
  • load average: 与后面的数字一起表示系统在过去1,5,10分钟内的负载程度,数值越小,系统负载越轻。
  1. w命令输出的信息显示说明:
  • USER:用户名称
  • TTY:用户的机器名称或tty号
  • FROM:远程主机地址(就是登陆主机的IP地址)
  • LOGIN用户登录系统的时间
  • IDLE:空闲时间(作用不大)
  • JCPU:附加到tty(终端)的进程所用的时间(JCPU时间)join cpu
  • PCPU当前进程所用时间(PCPU时间)process cpu
  • WHAT:用户当前正在使用的命令
  1. w命令的其他选择参数:
  • -h忽略头文件信息
  • -u显示结果的加载时间
  • -s不显示JCPU, PCPU, 登录时间
    示例:
    mosheng@server:~/work2$ w
    16:48:38 up 17 days, 23:14,  6 users,  load average: 7.18, 7.70, 8.20
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    mosheng  tty7     :0               31Jan19 17days  3:36m  7.68s /sbin/upstart --user
    mosheng  pts/22   192.168.1.55     09:44   16:14   2.90s  2.90s -bash
    mosheng  pts/23   192.168.1.55     09:52    6.00s  0.70s  0.00s w
    mosheng  pts/29   192.168.1.94     16:13   29:33   0.10s  0.10s -bash
    mosheng  pts/24   192.168.1.106    13:43    1:26   0.35s  0.35s -bash
    mosheng  pts/28   192.168.1.55     14:26    2:15m  0.22s  0.22s -bash
    mosheng@server:~/work2$ w -h
    mosheng  tty7     :0               31Jan19 17days  3:36m  7.68s /sbin/upstart --user
    mosheng  pts/22   192.168.1.55     09:44   23:08   2.90s  2.90s -bash
    mosheng  pts/23   192.168.1.55     09:52    1.00s  0.71s  0.01s w -h
    mosheng  pts/29   192.168.1.94     16:13   36:27   0.10s  0.10s -bash
    mosheng  pts/24   192.168.1.106    13:43    3:31   0.40s  0.40s -bash
    mosheng  pts/28   192.168.1.55     14:26    2:22m  0.22s  0.22s -bash
    mosheng@server:~/work2$ w -u
    16:55:41 up 17 days, 23:21,  6 users,  load average: 8.50, 7.58, 7.86
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    mosheng  tty7     :0               31Jan19 17days  3:36m  7.68s /sbin/upstart --user
    mosheng  pts/22   192.168.1.55     09:44   23:17   2.90s  2.90s -bash
    mosheng  pts/23   192.168.1.55     09:52    2.00s  0.70s  0.00s w -u
    mosheng  pts/29   192.168.1.94     16:13   36:36   0.10s  0.10s -bash
    mosheng  pts/24   192.168.1.106    13:43    3:40   0.40s  0.40s -bash
    mosheng  pts/28   192.168.1.55     14:26    2:22m  0.22s  0.22s -bash
    mosheng@server:~/work2$ w -s
    16:55:58 up 17 days, 23:21,  6 users,  load average: 7.73, 7.45, 7.81
    USER     TTY      FROM              IDLE WHAT
    mosheng  tty7     :0               17days /sbin/upstart --user
    mosheng  pts/22   192.168.1.55     23:34  -bash
    mosheng  pts/23   192.168.1.55      2.00s w -s
    mosheng  pts/29   192.168.1.94     36:53  -bash
    mosheng  pts/24   192.168.1.106     3:57  -bash
    mosheng  pts/28   192.168.1.55      2:22m -bash
    

二、who命令查看当前正在登陆的用户

命令:who

列出当前登陆的用户名和登陆用户的设备主机名称或tty号 , 登陆时间,用户登陆机的IP地址

mosheng@server:~/work2$ who
mosheng  tty7         2019-01-31 17:35 (:0)
mosheng  pts/22       2019-02-18 09:44 (192.168.1.55)
mosheng  pts/23       2019-02-18 09:52 (192.168.1.55)
mosheng  pts/29       2019-02-18 16:13 (192.168.1.94)
mosheng  pts/24       2019-02-18 17:02 (192.168.1.106)
mosheng  pts/28       2019-02-18 14:26 (192.168.1.55)
  1. 如果只列出用户名,可以使用一下命令

    命令:who | cut -d' ' -f1 | sort | uniq

示例:

mosheng@server:~/work2$ who | cut -d' ' -f1 | sort | uniq
mosheng
  1. whoami只显示自己登陆的用户名

    命令:whoami

示例:

mosheng@server:~/work2$ whoami
mosheng
  1. who am i只显示自己登陆的用户名、设备、登陆时间、登陆主机IP地址

    命令:who am i

示例:

mosheng@server:~/work2$ who am i
mosheng  pts/23       2019-02-18 09:52 (192.168.1.55)
# 这是我PC的IP地址
  1. logname查看登陆的用户名和whoami效果一样

    命令:who | cut -d' ' -f1 | sort | uniq

示例:

mosheng@server:~/work2$ logname
mosheng
  1. users查看当前所有的登录用户名

    命令:users

示例:

mosheng@server:~/work2$ users
mosheng mosheng mosheng mosheng mosheng mosheng

三、last查看登陆用户的历史信息

命令:last

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

  • 用户名称
  • tty设备号
  • 历史登录时间日期
  • 登出时间日期
  • 总工作时间

示例:

mosheng@server:~/work2$ last
mosheng  pts/24       192.168.1.106    Mon Feb 18 17:02   still logged in
mosheng  pts/29       192.168.1.94     Mon Feb 18 16:13   still logged in
mosheng  pts/29       192.168.1.106    Mon Feb 18 16:00 - 16:04  (00:04)
mosheng  pts/29       192.168.1.106    Mon Feb 18 15:11 - 15:59  (00:48)
mosheng  pts/28       192.168.1.55     Mon Feb 18 14:26   still logged in
mosheng  pts/24       192.168.1.106    Mon Feb 18 13:43 - 17:02  (03:18)
mosheng  pts/23       192.168.1.55     Mon Feb 18 09:52   still logged in
mosheng  pts/22       192.168.1.55     Mon Feb 18 09:44   still logged in
mosheng  pts/24       192.168.1.106    Sun Feb 17 13:56 - 16:49  (02:53)
mosheng  pts/23       192.168.1.53     Sun Feb 17 13:49 - 14:14  (00:25)
mosheng  pts/22       192.168.1.113    Sun Feb 17 13:48 - 16:21  (02:32)
mosheng  pts/22       192.168.1.106    Fri Feb 15 19:31 - 23:43  (04:11)
mosheng  pts/22       192.168.1.106    Fri Feb 15 18:23 - 19:31  (01:07)
mosheng  pts/29       192.168.1.113    Fri Feb 15 17:42 - 19:25  (01:43)
mosheng  pts/25       192.168.1.53     Fri Feb 15 16:04 - 19:19  (03:15)
mosheng  pts/24       192.168.1.106    Fri Feb 15 15:10 - 17:57  (02:46)
  1. last username查看指定用户的登录历史信息

    命令:last username

示例:

mosheng@server:~/work2$ last mosheng
mosheng  pts/24       192.168.1.106    Mon Feb 18 17:02   still logged in
mosheng  pts/29       192.168.1.94     Mon Feb 18 16:13   still logged in
mosheng  pts/29       192.168.1.106    Mon Feb 18 16:00 - 16:04  (00:04)
mosheng  pts/29       192.168.1.106    Mon Feb 18 15:11 - 15:59  (00:48)
mosheng  pts/28       192.168.1.55     Mon Feb 18 14:26   still logged in
mosheng  pts/24       192.168.1.106    Mon Feb 18 13:43 - 17:02  (03:18)
mosheng  pts/23       192.168.1.55     Mon Feb 18 09:52   still logged in
mosheng  pts/22       192.168.1.55     Mon Feb 18 09:44   still logged in
mosheng  pts/24       192.168.1.106    Sun Feb 17 13:56 - 16:49  (02:53)
mosheng  pts/23       192.168.1.53     Sun Feb 17 13:49 - 14:14  (00:25)
mosheng  pts/22       192.168.1.113    Sun Feb 17 13:48 - 16:21  (02:32)
mosheng  pts/22       192.168.1.106    Fri Feb 15 19:31 - 23:43  (04:11)
mosheng  pts/22       192.168.1.106    Fri Feb 15 18:23 - 19:31  (01:07)
  1. 如果只列出用户名,可以使用一下命令

    命令:who | cut -d' ' -f1 | sort | uniq

示例:

mosheng@server:~/work2$ who | cut -d' ' -f1 | sort | uniq
mosheng

四、pkill剔除当前的登录用户

命令:pkill -u username

示例:

mosheng@server:~/work2$ pkill -u mohsheng

注意:这个命令实际上很危险,要相当小心的执行 原因参考 http://www.blogguy.cn/
安全的做法是先查看终端号,然后查看该终端执行的所有进程,根据进程号来停止服务
安全剔除用户

ps -ef| grep pts/0

得到用户登录相应的进程号pid后执行.

kill -9 pid

目录
相关文章
|
1月前
|
Ubuntu 网络协议 Linux
【附安装包】CentOS7(Linux)详细安装教程(手把手图文详解版)
【附安装包】CentOS7(Linux)详细安装教程(手把手图文详解版)
126 2
|
17天前
|
Linux 网络安全 数据安全/隐私保护
使用宝塔Linux搭建DVWA靶场保姆级教程
这是一篇详细的教程,作者基于其在Web渗透测试领域的学习经验,利用宝塔Linux面板搭建了DVWA靶场。从安装Linux宝塔面板到通过Docker运行DVWA容器,每一步都有详尽的文字描述和配图指导,确保读者能够顺利地进行实践操作,非常适合初学者快速上手并掌握相关技能。
|
18天前
|
Linux PHP
Linux CentOS 宝塔 Suhosin禁用php5.6版本eval函数详细图文教程
【8月更文挑战第27天】本文介绍两种禁用PHP执行的方法:使用`PHP_diseval_extension`禁用和通过`suhosin`禁用。由于`suhosin`不支持PHP8,仅适用于PHP7及以下版本,若服务器安装了PHP5.6,则需对应安装`suhosin-0.9.38`版本。文章提供了详细的安装步骤,并强调了宝塔环境下与普通环境下的PHP路径差异。安装完成后,在`php.ini`中添加`suhosin.so`扩展并设置`executor.disable_eval = on`以禁用执行功能。最后通过测试代码验证是否成功禁用,并重启`php-fpm`服务生效。
16 2
|
23天前
|
机器学习/深度学习 存储 Linux
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
|
22天前
|
Ubuntu 网络协议 Linux
Linux下快速搭建七日杀官方私人服务器教程
本文提供了一份详尽的《七日杀》服务器搭建指南,专为Linux系统设计。教程分为九大部分,涵盖从前期准备到服务器维护的全过程。主要内容包括:选择具备公网IP的云服务器、安装Ubuntu 20 X64系统、下载SteamCMD等必备软件;详细指导如何配置服务器、设置防火墙及端口规则、启动与关闭服务器;此外还提供了服务器管理、环境配置(如设置swap分区)等实用技巧。适合有一定Linux基础的玩家参考实践。
|
20天前
|
JavaScript Linux API
【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤
【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤
|
22天前
|
监控 安全 Linux
在Linux中,如何查看当前登录用户?
在Linux中,如何查看当前登录用户?
|
24天前
|
安全 Linux Shell
Linux系统之间实现免密码登录(SSH无密码登录
【8月更文挑战第21天】要在Linux系统间实现SSH免密码登录,需先在源机器生成SSH密钥对,然后将公钥复制到目标机器的`.ssh/authorized_keys`文件中。可通过`ssh-keygen`命令生成密钥,并使用`ssh-copy-id`命令传输公钥。最后测试SSH连接,确保能无密码登录。若目标机器缺少相关目录或文件,需手动创建并设置适当权限。完成这些步骤后,即可实现安全便捷的免密码登录。
45 0
|
24天前
|
Ubuntu Linux 网络安全
在Linux中,如何禁用root用户直接SSH登录?
在Linux中,如何禁用root用户直接SSH登录?
|
25天前
|
网络协议 安全 Linux