ubuntu
いくつかのボックスを設定し、opscodeをchef
設定ツールとして使用しています。ユーザーごとに各サーバーに公開鍵をインストールし、パスワード認証を無効にするのは非常に簡単です。
ただし、ユーザーにはsudo
デフォルトでパスワードが必要な権限も必要です。
ユーザーの公開鍵をアクセス管理方法として使用し、ユーザーsudo
権限を許可したい場合、NOPASSWD: ALL
またはvisduo
公開鍵認証のみがある場合、ユーザーがパスワードを変更する方法はありますか?
ベストアンサー1
最も一般的な構成では、Sudoはユーザーにパスワードを入力するように要求します。通常、ユーザーはアカウントを認証するためにすでにパスワードを使用しており、パスワードを再入力することは、正当なユーザーがコンソールを放棄してハイジャックされていないことを確認する方法です。
設定では、ユーザーのパスワードはsudo認証にのみ使用されます。特に、ユーザーのSSHキーが破損している場合、攻撃者はサーバーからroot権限に昇格できません。攻撃者はアカウントにキーロガーを植えることができますが、他のユーザーはキーロガーを検出して自動的に監視することもできます。
通常、ユーザーは現在のパスワードを知っておく必要がある他のパスワードに変更することができます。プログラムはpasswd
これを確認します(確認しないように設定することもできますが、これは役に立たないか、シナリオでは単に必要ではありません)。ただし、ルートは以前のパスワードを知らなくても、すべてのユーザーのパスワードを変更できます。したがって、sudo権限を持つユーザーは、passwd
プロンプトでパスワードを入力せずに実行して自分のパスワードを変更できますsudo passwd $USER
。ユーザーパスワードを要求するように設定されている場合sudo
でも、ユーザーはパスワードを入力する必要がありますsudo
。
パスワードの確認を選択的に無効にできます。お客様の場合、SSH およびその他のサービスでパスワード認証を無効にします。ほとんどの最新のユニーク(Ubuntuを含む)では、ほとんどのサービスはポリアクリルアミド認証方法を設定します。 Ubuntuでは、PAM設定ファイルはにあります。/etc/pam.d
パスワード認証を無効にするにはauth … pam_unix.so
。また、sshdの組み込みパスワード認証を無効にしていることを/etc/pam.d/common-auth
確認してください。PasswordAuthentication no
/etc/ssh/sshd_config
特定の管理ユーザーがパスワードでログインできるようにしたり、コンソールでパスワード認証を許可したりできます。これはPAMを介して達成できますが(非常に柔軟性があります)、方法を直接知ることはできません。助けが必要な場合は別途ご質問ください。