如何列出所有使用root的用户?

在Linux上,我如何列出所有拥有root权限的用户(甚至更好,所有的用户,如果他们有root权限的话)?

不要忘记更改根密码。 如果任何用户除root以外还有UID 0,则不应该这样做。 馊主意。 去检查:

grep 'x:0:' /etc/passwd

再次,你不应该这样做,而是要检查用户是否是根组的成员:

grep root /etc/group

要查看是否有人能够以root身份执行命令,请检查sudoers:

cat /etc/sudoers

要检查SUID位,它允许程序以root权限执行:

find / -perm -04000

查看谁是UID 0:

 getent passwd 0 

要查看谁在群组中, wheel admadmin

 getent group root wheel adm admin 

要列出所有用户和他们是其成员的组:

 getent passwd | cut -d : -f 1 | xargs groups 

纯根是用户标识“0”。

系统中的所有用户都在/ etc / passwd文件中:

 less /etc/passwd 

那些是root的用户名是“0”,这是第三列。 那些“0”作为组(第四列)也可能有一些root权限。

接下来,您将需要查看这些组,然后查看谁是“根”或“轮”或“pipe理员”组的其他成员:

 less /etc/group 

列在这些组中的用户可以拥有一些root权限,特别是通过“sudo”命令。

你要检查的最后一件事是“sudo”configuration,看看谁被列为授权运行这个命令。 这个文件本身是有据可查的,所以我不会在这里重现它:

 less /etc/sudoers 

这涵盖了谁可以拥有root权限的主要领域。

打印所有用户

 perl -n -e '@user = split /:/ ; print "@user[0]\n";' < /etc/passwd 

要仅打印具有UID 0的用户,正如其他人所说的那样,具有隐式根权限的用户:

 perl -n -e '@user = split /:/ ; print "@user[0]\n" if @user[2] == "0";' < /etc/passwd 

要获得所有用户的快速列表,请在inputpasswd命令后input空格,然后尝试两次(自动完成)。 这也适用于su命令。

必须作为root权限的用户来完成。