useraddはパスワードなしでユーザーを作成し、SSHを介してのみアクセスできます。

useraddはパスワードなしでユーザーを作成し、SSHを介してのみアクセスできます。

私はこのコマンドを使用して自動的にユーザーを生成するスクリプトを作成していますuseradd(代わりにこのコマンドが必要ですadduser)。

SSHを介してのみアクセスできるように生成したいと思います(スクリプトが認証キーにpublic_keyを追加しました)。

useradd --system --shell /bin/bash $NEW_USER

このコマンドを使用すると、パスワードでログインできますか?では、どうすれば無効にできますか?

私が達成したいのは、この記事で説明されているものと似ています--disable-passworduseraddパスワードのないユーザーの作成

答え1

useradd-pアカウントにこのオプションを指定しないと、デフォルトではパスワードが無効になっているアカウントが作成されます。

からman useradd

-p--passwordパスワード

crypt(3) によって返される暗号化されたパスワードです。デフォルトはパスワードを無効にすることです。

ただし、既存のアカウントのパスワードを無効にする必要がある場合は、passwd -l usernameアカウントのロックを解除できます(パスワードの無効化など)。からman passwd

-l--lock

指定したアカウントのパスワードをロックします。このオプションは、可能な暗号化値と一致しない値に変更してパスワードを無効にします(!パスワードの先頭に追加します)。

これでアカウントは無効になりません。。ユーザーは他の認証トークン(SSHキーなど)を使用してログインできます。アカウントを無効にするには管理者が使用する必要がありますusermod --expiredate 1(これにより、アカウントの有効期限は1970年1月2日に設定されます)。

パスワードがロックされているユーザーはパスワードを変更できません。

実際にパスワードを削除するのではなく、無効にするだけで、passwd -uシステム管理者が元のパスワードが何であるかを知ったり、一部の「デフォルト」パスワードに設定することなく、後でロック解除パスワードを使用することができます(安全ではなく、よく知られている可能性があります)。 )):

-u--unlock

指定されたアカウントのパスワードをロック解除します。このオプションは、パスワードを以前の値(-lこのオプションが使用される前の値)に戻してパスワードを再び有効にします。

!つまり、optionsで暗号化されたパスワードの先頭に追加された内容を削除します-l

関連情報