回答:
特定のユーザーがsudoアクセスを持っているかどうかを知るために-l
、と-U
オプションを一緒に使用できます。
例えば、
ユーザーがsudoアクセスを持っている場合、その特定のユーザーのsudoアクセスのレベルを出力します。
$ sudo -l -U pradeep User pradeep may run the following commands on this host: (ALL : ALL) ALL
ユーザーがsudoアクセス権を持っていない場合、そのユーザーはlocalhostでsudoを実行することは許可されていません。
$ sudo -l -U pradeep.c User pradeep.c is not allowed to run sudo on localhost.
server:/home/drasto>$ sudo -l -U drasto [sudo] password for drasto:
られます。それが役立つ場合は、そのサーバーにRed Hatディストリビューションがあります
-l
フラグを使用して、特権をリストできます。
-l[l] [command]
If no command is specified, the -l (list) option will list the allowed (and forbidden)
commands for the invoking user (or the user specified by the -U option) on the current
host. If a command is specified and is permitted by sudoers, the fully-qualified path
to the command is displayed along with any command line arguments. If command is
specified but not allowed, sudo will exit with a status value of 1. If the -l option
is specified with an l argument (i.e. -ll), or if -l is specified multiple times, a
longer list format is used.
ファイルにない場合は、他のマシンで見た「sudoersファイルにない」エラーが表示されるはずです。
server:/home/drasto>$ sudo -l [sudo] password for drasto:
sudo -l
にはsudoパスワードが必要ですか?だから私は、自分がrootであるかどうかを知るためにrootになる必要があります!?
sudo
ように、ログインパスワードを探しています。そのため、試してみて動作しない場合は、sudoの設定が恐ろしく間違っているか、適切なファイルを表示したり読み取ったりできないような刑務所にいます。いずれにしても、実質的にsudoパーミッションはありません。
次のコマンドを使用して、sudoグループに属しているかどうかを確認できます。
groups
シェルスクリプトでは、これを使用することができます。
if groups | grep "\<sudo\>" &> /dev/null; then
echo yes
else
echo no
fi
sudo
、グループのメンバーであっても、個々のユーザーは特定のルール(またはその逆)を介してsudoアクセスを拒否される可能性があります。admin
wheel