私は最近、私のコンピュータにOpenBSD 4.9をインストールして、Unixファミリーのオペレーティングシステムについて少し学ぶことができます。システムにbrunoという新しいユーザーを追加しました。 「いいね!」sudoコマンドを使用すると、パスワードの入力を求められます。だからパスワードを入力してください。ところが、パスワードが正しいと確信するのにもパスワードが間違っていると続けて浮かんでいます。私がここで何を見逃しているのでしょうか?追加するとわかります
bruno ALL = (ALL) NOPASSWD: ALL
/etc/sudoers ファイルに追加すると、パスワードを求められなくなり、sudo コマンドを実行できます。ここで何をすべきですか?最も正確で安全なオプションは何ですか?ちょっとした質問で申し訳ありません。この問題の良い説明が見つかりません。私は解決策を見つけるのではなく、ユーザー/権限/パスワード全体がどのように機能するかについての説明を探しています。
答え1
Sudoは主に認証ツールです。これが行うことは、高い権限でコマンドを実行できるかどうかを決定し、そうであればコマンドを実行することです。似たような
bruno ALL = (ALL): ALL
ファイルの内容sudoers
により、ユーザーはbruno
すべての権限ですべてのコマンドを実行できます。
このルールを適用するには、Sudoは自分を呼び出すユーザーが実際であることを知る必要がありますbruno
。原則として、システムの認証メカニズムに頼ることができます。でコマンドを実行できる場合は、すでにbruno
認証されていることを意味しますbruno
。ただし、Sudoを使用すると重大な結果が生じる可能性があるため、Sudoにはいくつかの追加認証が必要です。時にはパスワードを再入力する必要があります。言い換えれば、コンソールを放置して通行人がローコマンドを実行できる場合、bruno
Sudoは使用できません。アカウントは破損する可能性がありますが、システムの残りの部分は破損しません。
パスワードを要求するもう1つの利点は、異常なことが発生したことを知らせることです。たとえば、アプリを自動的に呼び出すことはできませんsudo
。パスワードを求めるメッセージが表示され、予期しないパスワードメッセージが表示され、問題が発生したことを知らせます。
実際、Sudoを実行するたびにパスワードを求めるのは面倒です。したがって、基本的な動作は妥協することです。つまり、数分ごとにパスワードを要求することです。これにより、sudo
過去数分間実行した場合にのみ、通行人またはアプリケーションが実行され、破損する可能性があります。
答え2
マニュアルを読む必要がありますman sudo
:(ここ)、ルールが何であるかはわかりませんが、ほとんどのUNIXシステムでは、sudoはwheel
グループのユーザーにのみ許可されています。したがって、この新しいユーザーにパスワードを要求するルールを作成するか、このユーザーをホイールグループに追加する必要があります。 (使用usermod -a -G wheel bruno
)