私はこのコマンドを使用して自動的にユーザーを生成するスクリプトを作成していますuseradd
(代わりにこのコマンドが必要ですadduser
)。
SSHを介してのみアクセスできるように生成したいと思います(スクリプトが認証キーにpublic_keyを追加しました)。
useradd --system --shell /bin/bash $NEW_USER
このコマンドを使用すると、パスワードでログインできますか?では、どうすれば無効にできますか?
私が達成したいのは、この記事で説明されているものと似ています--disable-password
。useradd
パスワードのないユーザーの作成。
答え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
。