web-dev-qa-db-ja.com

rootですべてのユーザーを一覧表示するにはどうすればよいですか?

Linuxボックスで、root権限を持つすべてのユーザーを一覧表示するにはどうすればよいですか(さらに良いことに、一般的に、すべてのユーザーが、rootを持っているかどうかにかかわらず)。

37
Eric

Rootパスワードを変更することを忘れないでください。 root以外のユーザーがUID 0を持っている場合、それらは許可されません。悪いアイデア。チェックする:

grep 'x:0:' /etc/passwd

繰り返しますが、これを行うべきではありませんが、ユーザーがルートグループのメンバーであるかどうかを確認するには、次のようにします。

grep root /etc/group

誰かがrootとしてコマンドを実行できるかどうかを確認するには、sudoersを確認します。

cat /etc/sudoers

Root権限でプログラムを実行できるようにするSUIDビットを確認するには:

find / -perm -04000

44
Warner

UID 0のユーザーを確認するには:

getent passwd 0

グループrootwheeladmadminのメンバーを確認するには:

getent group root wheel adm admin

すべてのユーザーとそれらがメンバーとなっているグループをリストするには、次のようにします。

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

純粋なルートはユーザーID「0」です。

システム内のすべてのユーザーは/ etc/passwdファイルにあります。

less /etc/passwd

Rootのユーザーは、3番目の列であるユーザーIDとして「0」を持っています。グループ(4列目)が「0」のユーザーにも、いくつかのroot権限がある場合があります。

次に、グループを見て、「root」、「wheel」、または「admin」グループの追加のメンバーが誰であるかを確認します。

less /etc/group

これらのグループにリストされているユーザーは、特に「Sudo」コマンドを介して、いくつかのroot特権を持つことができます。

チェックする最後のことは、「Sudo」構成であり、このコマンドを実行する権限を持つユーザーがリストされているかどうかを確認します。このファイル自体は十分に文書化されているので、ここでは再現しません。

less /etc/sudoers

これは、誰がrootアクセスを持つことができるかという主な領域をカバーしています。

6
Rafiq Maniar

すべてのユーザーを印刷するには

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

他の人が言ったように、UID 0を持つユーザーのみを印刷するには、暗黙のroot特権を持つユーザー:

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

すべてのユーザーの簡単なリストを表示するには、passwdコマンドに続けてスペースを入力した後、タブを2回(オートコンプリート)押してみてください。これはsuコマンドでも機能します。

Root特権ユーザーとして実行する必要があります。

2
Emeraldo

答えが1行でなかったのは私を困らせていました...すべてのUID 0(root)アカウントを一覧表示したい場合は、以下を使用します。

cat /etc/passwd | cut -f1,3,4 -d":" | grep"0:0" | cut -f1 -d":" | awk '{print $1}'

ベスト、

0
Boschko