Sudoerではない場合、Linuxシステムはどのように動作しますか? Sudoを使用しようとすると、次のようになります。
server:/tmp>$ Sudo cal
[Sudo] password for user:
Sorry, try again.
私のパスワードがわからない可能性はありますか、それとも私がsudoerではないということですか? (別のマシンのシステムでは、私はsudoerではないことが印刷され、事件は報告されます)
特定のユーザーがSudoアクセスを持っているかどうかを知るために、-l
オプションと-U
オプションを一緒に使用できます。
例えば、
ユーザーがSudoアクセスを持っている場合、その特定のユーザーのSudoアクセスのレベルが出力されます。
$ Sudo -l -U pradeep User pradeep may run the following commands on this Host: (ALL : ALL) ALL
ユーザーにSudoアクセス権がない場合、そのユーザーはローカルホストでSudoを実行することを許可されていません。
$ Sudo -l -U pradeep.c User pradeep.c is not allowed to run Sudo on localhost.
-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ファイルにない」というエラーが表示されるはずです。
次のコマンドを使用して、Sudoグループに属しているかどうかを確認できます
groups
シェルスクリプトでは、次のように使用できます。
if groups | grep "\<Sudo\>" &> /dev/null; then
echo yes
else
echo no
fi