/etc/group
この情報を表示しますか?自分が直接アクセスできない場合、Sudo権限に誰がアクセスできるかを見つけることはできません。 Unixグループ「ホイール」のメンバーである場合、どのユーザーかを確認することにより、「それに戻る」ことができます。
これは、ユーザー「saml」がwheelグループのメンバーであることを示しています。
$ getent group wheel
wheel:x:10:saml
「ホイール」グループのメンバーであることは、通常、システムsudoersファイル/etc/sudoers
にあることが多いこのルールを通じて、完全なSudo権限を許可します。
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
ただし、特定のシステムの管理者がSudo
権限をこの方法で付与することを決定した保証はありません。同様に簡単にそれを行うことができました:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
saml ALL=(ALL) ALL
この場合、Sudo
権限がないと、システムの/etc/sudoers
ファイルにアクセスしてこのエントリを表示することはできません。
このファイルには、2番目、3番目などのグループが関連付けられているユーザーのみが表示されます。多くの場合、ユーザーアカウントには1つのグループのみが関連付けられています。その場合、特定のユーザーのプライマリグループを見つけるために、少し異なるコマンドを使用する必要があります。
$ getent passwd saml
saml:x:1000:1000:saml:/home/saml:/bin/bash
ここで、ユーザー「saml」はプライマリグループ1000を持っています。このGIDはこのグループに相当します。
$ getent group 1000
saml:x:1000:saml
しかし、これは実際にどのユーザーアカウントがSudo
権限を持っているかについて何も教えてくれません。
これは、いわゆる サイドチャネル攻撃 を防ぐために行われます。どのアカウントに特権があるかなどの情報が漏洩すると、特定のシステム上の任意のアカウントにアクセスできれば、攻撃者に重要な情報が漏えいしてしまいます。そのため、多くの場合、この情報を非特権アカウントからマスクすることが最善です。