web-dev-qa-db-ja.com

私がsudoerかどうかを確認するにはどうすればよいですか?

Sudoerではない場合、Linuxシステムはどのように動作しますか? Sudoを使用しようとすると、次のようになります。

server:/tmp>$ Sudo cal
[Sudo] password for user:
Sorry, try again.

私のパスワードがわからない可能性はありますか、それとも私がsudoerではないということですか? (別のマシンのシステムでは、私はsudoerではないことが印刷され、事件は報告されます)

35
Rasto

特定のユーザーが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.
43
pradeepchhetri

-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ファイルにない」というエラーが表示されるはずです。

11
Kevin

次のコマンドを使用して、Sudoグループに属しているかどうかを確認できます

groups

シェルスクリプトでは、次のように使用できます。

if groups | grep "\<Sudo\>" &> /dev/null; then
   echo yes
else
   echo no
fi
0
Schlacki