在 Linux 机器上,如何列出所有拥有与超级用户相同权限的用户(甚至更好的是,所有用户,以及他们是否能够将其权限升级到该级别)?
答案1
不要忘记更改 root 密码。如果除 root 之外有任何用户的 UID 为 0,则不应更改。这是个坏主意。检查方法如下:
grep 'x:0:' /etc/passwd
再次强调,您不应该这样做,而应该检查用户是否是根组的成员:
grep root /etc/group
要查看是否有人可以以 root 身份执行命令,请检查 sudoers:
cat /etc/sudoers
检查 SUID 位,允许程序以 root 权限执行:
find / -perm -04000
答案2
要查看谁是 UID 0:
getent passwd 0
要查看谁在群组中root
,wheel
adm
以及admin
:
getent group root wheel adm admin
列出所有用户及其所属的组:
getent passwd | cut -d : -f 1 | xargs groups
答案3
纯根用户 ID 是“0”。
系统中的所有用户都在/etc/passwd文件中:
less /etc/passwd
拥有 root 权限的用户的用户 ID 为“0”,即第 3 列。拥有“0”的用户组(第 4 列)也可能拥有一些 root 权限。
接下来,您需要查看这些组,并查看谁是“root”或“wheel”或“admin”组的其他成员:
less /etc/group
这些组中列出的用户可以拥有一些 root 权限,尤其是通过“sudo”命令。
最后要检查的是“sudo”配置,看看谁被列为有权运行此命令。这个文件本身有很好的文档记录,所以我就不在这里重复了:
less /etc/sudoers
这涵盖了谁可以拥有 root 访问权限的主要领域。
答案4
要快速列出所有用户,请尝试在输入命令后按两次 Tab 键(自动完成),passwd
然后按空格。这su
也适用于命令。
必须以 root 权限用户身份完成。