首页 > 运维 > linux运维 > 正文

Linux如何查看哪些用户正在使用系统

P粉602998670
发布: 2025-09-05 08:46:02
原创
431人浏览过
使用w命令可查看当前登录用户及其进程,执行w命令后,系统显示用户名、终端、登录时间、空闲时间、CPU使用情况及正在运行的命令,帮助管理员了解用户活动和资源占用情况。

linux如何查看哪些用户正在使用系统

要查看Linux系统上哪些用户正在使用,可以使用多种命令,它们提供了不同层面的信息。最常用的方法是使用

w
登录后复制
who
登录后复制
users
登录后复制
命令。

w
登录后复制
命令显示当前登录用户及其正在运行的进程。
who
登录后复制
命令列出当前登录用户的信息,包括用户名、终端和登录时间。
users
登录后复制
命令则简单地列出当前登录用户的用户名。此外,
ps
登录后复制
命令结合
grep
登录后复制
也可以用来查找特定用户运行的进程。

如何使用
w
登录后复制
命令查看当前登录用户及其进程?

w
登录后复制
命令是一个强大的工具,它不仅显示了当前登录的用户,还显示了他们的登录时间、终端、以及他们正在运行的进程。这对于了解系统资源的使用情况非常有帮助。

例如,在终端输入

w
登录后复制
后,你会看到类似下面的输出:

USER     TTY      FROM             LOGIN.   IDLE   JCPU   PCPU WHAT
user1    pts/0    192.168.1.100    10:00   10m  0.01s  0.01s bash
user2    pts/1    192.168.1.101    10:05    5m  0.02s  0.01s top
登录后复制

这里的

USER
登录后复制
列显示了用户名,
TTY
登录后复制
列显示了用户登录的终端,
FROM
登录后复制
列显示了用户的登录IP地址(如果通过网络登录),
LOGIN.
登录后复制
列显示了登录时间,
IDLE
登录后复制
列显示了用户空闲的时间,
JCPU
登录后复制
列显示了所有进程使用的CPU时间,
PCPU
登录后复制
列显示了当前进程使用的CPU时间,
WHAT
登录后复制
列显示了用户当前正在运行的命令。

通过

w
登录后复制
命令,你可以快速了解哪些用户正在使用系统,以及他们正在做什么,这对于系统管理和故障排除非常有用。例如,如果发现某个用户正在运行占用大量CPU资源的进程,你可以及时采取措施,避免影响其他用户的正常使用。

who
登录后复制
命令和
users
登录后复制
命令有什么区别

who
登录后复制
命令和
users
登录后复制
命令都可以用来查看当前登录用户,但它们提供的输出信息有所不同。
who
登录后复制
命令提供更详细的信息,包括用户名、终端、登录时间和登录IP地址(如果通过网络登录)。而
users
登录后复制
命令则只简单地列出当前登录用户的用户名,多个用户登录同一个终端时,用户名会重复显示。

例如,在终端输入

who
登录后复制
后,你会看到类似下面的输出:

user1    pts/0    2023-10-27 10:00 (192.168.1.100)
user2    pts/1    2023-10-27 10:05 (192.168.1.101)
登录后复制

而输入

users
登录后复制
后,你可能会看到类似下面的输出:

user1 user2
登录后复制

如果

user1
登录后复制
同时登录了两个终端,那么
users
登录后复制
命令的输出会是:

user1 user1 user2
登录后复制

who
登录后复制
命令更适合需要了解用户登录详情的情况,而
users
登录后复制
命令则更适合快速查看当前有哪些用户登录了系统。选择哪个命令取决于你的具体需求。

如何使用
ps
登录后复制
命令和
grep
登录后复制
命令查找特定用户运行的进程?

ps
登录后复制
命令用于显示当前进程的状态,而
grep
登录后复制
命令用于在文本中查找指定的字符串。结合使用这两个命令,可以查找特定用户运行的进程。

例如,要查找用户

user1
登录后复制
运行的进程,可以使用以下命令:

ps -u user1 -o pid,user,comm
登录后复制

这个命令的含义是:

  • ps -u user1
    登录后复制
    :显示用户
    user1
    登录后复制
    运行的进程。
  • -o pid,user,comm
    登录后复制
    :指定输出的列,包括进程ID(PID)、用户名(USER)和命令名(COMM)。

执行这个命令后,你会看到类似下面的输出:

PID USER     COMMAND
1234 user1    bash
5678 user1    top
登录后复制

这个输出显示了用户

user1
登录后复制
运行的进程的PID、用户名和命令名。通过这个方法,你可以精确地查找特定用户运行的进程,这对于监控用户行为和排查问题非常有帮助。例如,你可以使用这个方法查找某个用户是否运行了恶意程序,或者某个用户是否占用了过多的系统资源。

AppMall应用商店
AppMall应用商店

AI应用商店,提供即时交付、按需付费的人工智能应用服务

AppMall应用商店 56
查看详情 AppMall应用商店

当然,也可以使用管道符

|
登录后复制
结合
grep
登录后复制
命令,例如:

ps aux | grep user1
登录后复制

这种方式会列出所有进程,然后

grep
登录后复制
过滤出包含
user1
登录后复制
的行。虽然结果会包含一些无关信息(例如
grep
登录后复制
进程本身),但可以快速查看用户相关的进程信息。

如何监控用户的活动?

除了查看当前登录用户,有时还需要监控用户的活动,例如他们执行了哪些命令、访问了哪些文件等。这可以通过审计工具来实现,例如

auditd
登录后复制

auditd
登录后复制
是 Linux 系统中的一个审计守护进程,它可以记录系统中的各种事件,包括用户登录、文件访问、命令执行等。要使用
auditd
登录后复制
监控用户的活动,首先需要安装
auditd
登录后复制

sudo apt-get install auditd  # Debian/Ubuntu
sudo yum install auditd      # CentOS/RHEL
登录后复制

安装完成后,需要配置

auditd
登录后复制
,例如添加规则来监控特定用户的活动。例如,要监控用户
user1
登录后复制
执行的所有命令,可以添加以下规则到
/etc/audit/rules.d/audit.rules
登录后复制
文件中:

-a always,exit -F auid=1000 -F arch=b64 -S execve -k user_commands
-a always,exit -F auid=1000 -F arch=b32 -S execve -k user_commands
登录后复制

这里的

auid=1000
登录后复制
是用户
user1
登录后复制
的用户ID,可以通过
id user1
登录后复制
命令查看。添加规则后,需要重启
auditd
登录后复制
服务:

sudo systemctl restart auditd
登录后复制

之后,

auditd
登录后复制
就会记录用户
user1
登录后复制
执行的所有命令。可以使用
ausearch
登录后复制
命令来查看审计日志:

sudo ausearch -k user_commands
登录后复制

通过

auditd
登录后复制
,你可以全面地监控用户的活动,这对于安全审计和故障排查非常有帮助。但是,需要注意的是,
auditd
登录后复制
会产生大量的日志,需要定期清理,避免占用过多的磁盘空间。

如何限制用户的资源使用?

为了避免某个用户占用过多的系统资源,影响其他用户的正常使用,可以限制用户的资源使用。这可以通过

ulimit
登录后复制
命令和
cgroups
登录后复制
来实现。

ulimit
登录后复制
命令用于设置用户进程的资源限制,例如CPU时间、内存使用、文件大小等。例如,要限制用户
user1
登录后复制
的CPU时间为10秒,可以使用以下命令:

ulimit -t 10
登录后复制

这个命令只对当前会话有效,要永久生效,需要将这个命令添加到用户的

.bashrc
登录后复制
.bash_profile
登录后复制
文件中。

cgroups
登录后复制
(Control Groups) 是 Linux 内核提供的一种资源隔离机制,它可以将进程分组,并对每个组设置资源限制。
cgroups
登录后复制
ulimit
登录后复制
更加强大和灵活,可以限制CPU、内存、磁盘I/O等多种资源。

要使用

cgroups
登录后复制
限制用户的资源使用,首先需要安装
cgroups
登录后复制
工具:

sudo apt-get install cgroup-tools  # Debian/Ubuntu
sudo yum install libcgroup          # CentOS/RHEL
登录后复制

安装完成后,需要创建

cgroups
登录后复制
配置文件,例如
/etc/cgconfig.conf
登录后复制
,并添加相应的资源限制。然后,可以使用
cgcreate
登录后复制
命令创建
cgroups
登录后复制
组,并使用
cgclassify
登录后复制
命令将进程添加到组中。

通过

ulimit
登录后复制
cgroups
登录后复制
,你可以有效地限制用户的资源使用,保证系统的稳定性和性能。选择哪个工具取决于你的具体需求,
ulimit
登录后复制
适合简单的资源限制,而
cgroups
登录后复制
适合复杂的资源隔离。

以上就是Linux如何查看哪些用户正在使用系统的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号