最近コンピュータにOpenBSD 4.9をインストールしたので、Unixライクなオペレーティングシステムについて少し学ぶことができました。 brunoというシステムに新しいユーザーを追加しました。 OK。 「Sudo」コマンドを使用すると、パスワードの入力を求められます。そこで、パスワードを入力します。しかし、パスワードが正しいことは確かですが、パスワードが間違っていることを知らせ続けます。ここで何が欠けていますか?追加すればわかります
bruno ALL = (ALL) NOPASSWD: ALL
/ etc/sudoersファイルにパスワードの入力を求めなくなり、Sudoコマンドを実行できます。ここで何をしますか?最も正しい/安全なオプションは何ですか?些細な質問でしたらすみません。この問題についての適切な説明が見つかりませんでした。私は解決策を探しているだけでなく、このユーザー/権限/パスワード全体がどのように機能するかについての説明も探しています。
これは authentication と authorization の違いを示しています。
Sudoは、主に承認のためのツールです。その役割は、昇格した特権でコマンドを実行できるかどうかを判断し、許可されている場合はそのコマンドを実行できるようにすることです。のようなエントリ
bruno ALL = (ALL): ALL
sudoers
ファイルでは、ユーザーbruno
が任意の権限で任意のコマンドを実行できます。
このルールを適用するために、Sudoはそれを呼び出しているユーザーが本当にbruno
であることを知る必要があります。原則として、システムの認証メカニズムに依存できます。bruno
としてコマンドを実行できる場合は、bruno
として既に認証されていることを意味します。ただし、Sudoを使用すると重大な影響が生じる可能性があるため、Sudoには追加の認証が必要です。場合によっては、パスワードをもう一度入力する必要があります。つまり、コンソールを離れたまま、通行人がbruno
としてコマンドを実行すると、Sudoを使用できなくなります。アカウントを損傷する可能性がありますが、システムの残りの部分。
パスワードを要求するもう1つの利点は、異常が発生していることを警告することです。たとえば、アプリケーションはSudo
を黙って呼び出すことはできません。パスワードを要求する必要があり、予期しないパスワードプロンプトが何か問題が発生していることを警告します。
実際には、Sudoを実行するたびにパスワードを要求するのは面倒です。したがって、デフォルトの動作は妥協です。数分ごとにパスワードを要求します。このように、通行人やアプリケーションは、最後の数分以内に実行した場合にのみSudo
を実行することで害を及ぼす可能性があります。
マニュアルを読む必要があります:man Sudo
(また ここ )であり、ルールが何かはわかりませんが、ほとんどのUNIXシステムではSudoはwheel
グループのユーザーのみが許可されています。したがって、この新しいユーザーにパスワードを要求するルールを作成するか、ユーザーをwheelグループに追加する必要があります。 (使用する usermod -a -G wheel bruno
)