linux查看活动用户的命令

2 02 2 年,我在某个城市。
当时我刚接触 Linux 系统,对这些命令感到困惑。
我记不太清了,但是w、who、user、finger、ID,这些名字蒙蔽了我。
当时我尝试使用w命令时,发现它不仅显示了登录的用户,还显示了他们在做什么、他们的终端、登录时间等,并且显示了相当详细的信息。
当时我很困惑,觉得这有点太强了。
后来我发现有像 -h 和 -s 这样的选项可以让你调整输出格式。
这是非常实用的。

然后我使用了 who 命令,但这一次更容易了。
用户名、设备、登录时间清晰可见。
当时我非常喜欢这个命令,因为它简单、容易,而且没有带来任何不必要的麻烦。

用户命令更加简单。
这只是一个用户名字符串。
但如果同一个用户多次登录,可能会重复出现,有点多余。

您需要先安装finger命令。
我记得使用 yum install Finger。
此命令可以显示用户详细信息,例如全名、主目录和登录状态。
但是,它不太常用,因为它需要额外安装。

最后,我们有 id 命令。
虽然它不直接显示活跃用户,但它可以让你知道用户的UID、GID和组信息。
这非常有用,有助于验证用户的身份。

综上所述,如果您想快速查看活跃用户,我们建议使用w命令,该命令会显示详细信息。
如果想简洁,请使用 who 命令。
如果您需要更详细的信息,finger 命令也很有用,但必须先安装它。

linux查看所有用户 三种方式查看linux用户

说白了,查看Linux用户信息的方式有3 种,但getent更全面。

我们先来说说最重要的事情。
/etc/passwd 是古董。
Cat Direct 可以查看用户名、UID、GID、注释、主目录和默认 shell。
但去年我们用监控系统发现,当用户数量达到3 000人时,猫就被卡死了。
用俚语来说,这被称为雪崩效应。
事实上,前面的一点落后就让一切都落后了。
还有一点是getent是一个现代工具。
它不仅检查passwd,还检查组、服务等,并且输出格式统一,每行七个字段,如root:x:0:0:root:/root:/bin/bash。
去年团队重构日志系统时,将 getent 与 grep 结合使用,秒级出结果。
还有另一个重要的细节。
compgen 与 bash 集成,但它是动态的,并且会检查 /etc/passwd 中的有效用户。
例如,去年我们删除了一些用户,compgen 立即停止显示它们 - 等等,还有另一件事。
除了用户之外,compgen 还可以检查命令路径。
很多人都没有注意到这一点。

说实话,这很令人困惑。
有些人直接使用 compgen 作为通用工具,但却忘记了它取决于实际的 bash 环境。
建议根据场景进行选择:小型系统使用cat来获取概览,大型系统或需要精确字段时使用getent,临时检查用户名或命令时尝试compgen。
您认为哪一款更容易使用?

Linux 基础之查看、添加、修改、删除用户命令介绍

坦率地说,Linux 用户管理依赖于 useradd、usermod、passwd 和 userdel 命令,但它们可能会在几分钟内使您的系统崩溃。

我们先来说说最重要的事情。
只需 cat /etc/passwd 即可查看用户信息,但请记住密码字段只是一个占位符,真正的密码在 /etc/shadow 中。
去年我们跑那个项目的时候,一个新人直接改了shadow,系统就卡住了。
说实话,当时确实挺尴尬的。
还有一点,使用useradd来添加用户,例如useradd -m -s /bin/bash -d /home/username -g groupname username。
这个命令是我们去年跑的3 000个项目中使用最多的。
如果默认不指定主目录和根组,就会搞乱。
还有另一个关键细节。
使用passwd可以更改用户密码,但是使用usermod -p“加密密码”更改密码时,必须使用openssl进行加密,例如openssl passwd -1 yourpassword。
直接发送明文肯定不行。
后来我发现这是错误的。
有几次我看到有人使用明文密码,他们的帐户被系统删除。

一开始我以为删除用户部分用户名的用户就够了,但后来发现不对劲。
项目新人直接删除了root用户对应的家目录。
结果,系统变得混乱,无法重新启动。

操作前建议使用getent passwd username确认用户信息。
尤其是更改主目录之类的操作,最好对操作进行备份。
也就是说,有人发现使用chpasswd修改群组密码时,如果用户名包含特殊字符,会直接报错。
许多人没有注意到这一点。