GNU/Linux >> Linux の 問題 >  >> Linux

sudo アクセス権があるかどうかを確認するにはどうすればよいですか?

sudo -v を実行 .通常、sudo パスワードのタイムアウトを延長するために使用されますが、sudo があるかどうかを判断するために使用できます。

$ sudo -v
Sorry, user [username] may not run sudo on [hostname].

マニュアルページの抜粋:

<ブロック引用>

-v (検証) オプションを指定すると、sudo はユーザーのタイムスタンプを更新し、必要に応じてユーザーのパスワードを要求します。これにより、sudo タイムアウトがさらに 5 分間 (または sudoers で設定されているタイムアウト) 延長されますが、コマンドは実行されません。

ユーザーが 特定 の実行のみを許可されている場合 コマンドを実行すると、このコマンドは機能し、何か の実行が許可されていることを示します 異なる特権を持つ。この場合、許可されていないコマンドを実行しようとすると、メッセージが異なって表示されます (そして、root にメールは送信されません) )、管理者が /var/log/secure を読んだ場合、問題が発生する可能性があります .

$ sudo ls
[sudo] password for [username]: 
Sorry, user [username] is not allowed to execute '/bin/ls' as root on [hostname].

なにを調べる sudo -l を使用して、さまざまな権限で実行できます .このコマンドでは、パスワードを入力する必要があることに注意してください。


これは非常に簡単です。 sudo -l を実行 .これにより、所有している sudo 権限が一覧表示されます。


スクリプトに適したバージョンは次のとおりです:

timeout 2 sudo id && echo Access granted || echo Access denied

sudo を持っていない場合、パスワード入力でスタックしないため アクセス。

次のような変数に設定することもできます:

timeout 2 sudo id && sudo="true" || sudo="false"
echo "$sudo"


Linux
  1. Ubuntu で PhantomJS をセットアップして実行するにはどうすればよいですか?

  2. sudo su に環境変数を渡す方法

  3. sudo を使用してファイルが存在するかどうかを確認するにはどうすればよいですか?

  1. sudoersエラーを解決する方法–「申し訳ありませんが、sudoを実行するにはttyが必要です」

  2. スクリプトをルートとして遡及的に実行する方法は?

  3. Ubuntu 17.10でWiresharkを実行する方法は?

  1. Webサイトのアクセスログを確認するにはどうすればよいですか?

  2. ターミナルをルートとして実行する方法は?

  3. Sudo - sudo があるかどうか、および/または残り時間を確認するコマンドはありますか?