web-dev-qa-db-ja.com

誰かがsudoersファイルで `<user> ALL =(ALL)NOPASSWD:ALL`が何をするのか説明できますか?

上記の行では、<user>がパスワードを入力しなくてもSudoコマンドを実行できることを知っています。しかし、構文は実際にはどういう意味ですか?あなたが記事にリンクすることができれば、それも問題ありません。ありがとう

1
Nabeel Parkar

man sudoersから

デフォルトでは、Sudoは、コマンドを実行する前に、ユーザーが自分自身を認証することを要求します。この動作は、NOPASSWDタグを介して変更できます

そのため、ユーザーまたはグループは認証なしでSudoを実行できます。これは大きなセキュリティリスクになるため、このコマンドには十分注意してください。

また、チェックしてください https://askubuntu.com/questions/334318/sudoers-file-enable-nopasswd-for-user-all-commands

1
Erjen Rijnders

sudoersのマニュアルページでは、これについて詳しく説明しています。この行で使用されるデフォルトのエイリアスはいくつかあります。

形式は次のとおりです。

user_spec runas_spec=(Host_spec) NOPASSWD:cmd_spec 
  • user_specは、ルールを使用できるユーザーを識別します。
  • runas_specは、コマンドを実行できるユーザーを識別します。
  • (Host_spec)は、ルールが適用されるホストを識別します。これはオプションであり、デフォルトはALLです。
  • NOPASSWD:またはPASSWD:パスワードが必要かどうかを指定します。これはオプションであり、sudoers構成でデフォルトが変更されていない限り、デフォルトはPASSWDです。
  • cmd_specは、ルールを実行できるコマンドを識別します。

さまざまな仕様にエイリアスを使用するのが一般的です。各仕様には、自明の定義済みエイリアスALLがあります。

0
BillThor