`sudo`はどのユーザーのパスワードを要求しますか?

`sudo`はどのユーザーのパスワードを要求しますか?
$ ls -l /usr/bin/sudo
-rwsr-xr-x 1 root root 136808 Jul  4  2017 /usr/bin/sudo

soはすべてのユーザーが実行でき、set-user-idビットが設定されているため、sudoこれを実行しているすべてのユーザーはプロセスの有効なユーザーIDとしてルートを持ちます。sudo/usr/bin/sudo

~からhttps://unix.stackexchange.com/a/11287/674

sudoとsuの最も明白な違いは次のとおりです。sudoにはユーザーパスワードが必要ですsuにはrootのパスワードが必要です。

  1. どのユーザーのパスワードを要求していますかsudo?プロセスの実際のユーザーIDで表示されるユーザーですか?

    それでは、すべてのユーザーがsudo自分のパスワードを実行して提供してスーパーユーザー権限を取得できますか? Linuxで特定のユーザーを制限できますか?

  2. sudo入力に必要なパスワードは正しいですか?後ろに execve()実行を開始しますmain()か?/usr/bin/sudo

    これでプロセスのeuidがrootに変更されたので(/ usr / bin / sudoのset-user-idビットが設定されているので)、後でsudoにパスワードを尋ねるのはなぜですか?

ありがとうございます。

私が読んでhttps://unix.stackexchange.com/a/80350/674しかし、上記の質問に対する答えではありません。

ベストアンサー1

  1. 最も一般的な構成では、sudoユーザーにパスワードを入力するように求められます。走る sudo(あなたが言うように、プロセスの実際のユーザーIDに対応するユーザーです。)重要な点は、ユーザーが自分の認証以外の追加認証を提供することなく、特定のユーザーに追加の権限(の構成sudoによって決定されます)を付与することです。sudoersしかし、sudo する実行中のユーザーがsudo実際に自分が主張している人であることを確認してください。パスワード(または通常はPAMを使用してユーザーに設定された認証メカニズムsudo- 指紋や2段階認証などを含めることができます)を要求してこれを行います。

    sudo必ずしもルート権限を付与するわけではなく、さまざまな権限を付与できます。ルートが許可されているすべてのユーザーは、自分sudoersの認証のみを使用してこれを実行できます。ユーザーは許可されていません(少なくとも許可されていませんsudo)。これはLinux自体では適用されませんが、sudoLinux(および対応する認証設定)では適用されます。

  2. sudo実行を開始した後、パスワードを求めます。そうでなければできません(つまりそれは何もできません。今後実行を開始します)。sudoパスワードを要求する目的(rootユーザーでも)は、実行中のユーザー(通常の構成で)のIDを認証することです。

おすすめ記事