解決策 1:
ルートパスワードを変更することを忘れないでください。 root 以外のユーザーが UID 0 を持っている場合は、そうすべきではありません。悪いアイデア。確認するには:
grep 'x:0:' /etc/passwd
繰り返しますが、これを行うべきではありませんが、ユーザーがルート グループのメンバーであるかどうかを確認するには:
grep root /etc/group
誰でも root としてコマンドを実行できるかどうかを確認するには、sudoers を確認してください:
cat /etc/sudoers
root 権限でプログラムを実行できるようにする SUID ビットを確認するには:
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
ルートであるユーザーは、3 列目のユーザー ID として「0」を持っています。グループが「0」の場合 (4 列目) には、いくつかの root 権限もある可能性があります。
次に、グループを見て、「root」、「wheel」、または「admin」グループの追加メンバーを確認します。
less /etc/group
これらのグループにリストされているユーザーは、特に「sudo」コマンドを介して、いくつかのルート権限を持つことができます。
最後に確認する必要があるのは、「sudo」構成で、このコマンドを実行する権限を持っているとして誰がリストされているかを確認します。このファイル自体は十分に文書化されているため、ここでは再現しません:
less /etc/sudoers
これは、root アクセス権を持つことができる主な領域をカバーしています。
解決策 4:
すべてのユーザーを印刷するには
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
解決策 5:
すべてのユーザーの簡単なリストを表示するには、passwd
を入力した後にタブを 2 回押してください (オートコンプリート)。 コマンドの後にスペースを入力します。これは su
で動作します コマンドも同様です。
root 権限を持つユーザーとして実行する必要があります。