
アカウントを完全に無効にする方法は?passwd -l
誰でもパスワードを使用してアカウントにログインすることはできませんが、秘密鍵/公開鍵でログインすることはできます。アカウントを完全に無効にするにはどうすればよいですか?クイック修正でファイル名をauthorized_keys_lockme
。
答え1
正しいアプローチusermod(8)
は次のとおりです。
usermod --lock --expiredate 1970-01-02 <username>
(実際には、引数は--expiredate
現在の日付より前の日付であり、形式はですYYYY-MM-DD
。)
説明する:
--lock
ユーザーのパスワードをロックします。しかし、公開鍵などの他の方法でログインすることは依然として可能です。--expiredate YYYY-MM-DD
指定された日付でアカウントを無効にします。 1970-01-01によると、man shadow 5
これはあいまいな値なので、使用しないでください。
私のコンピュータでテストしました。このコマンドを実行した後は、パスワードや公開鍵を使用したログインはできません。
後でアカウントを再開するには、次の手順を実行します。
usermod --unlock --expiredate '' <username>
答え2
パスワードをロックし、シェルを/bin/nologin
。
sudo usermod --lock --shell /bin/nologin username
(またはもっと簡潔に言えばsudo usermod -L -s /bin/nologin username
。)
答え3
これはもう一つの簡単な方法です。ユーザーアカウントの有効期限を設定できます。これにより、アカウントへのパスワードベースおよびSSHキーベースのログインが防止されます。いいえパスワードをタッチしてください。
アカウントロック:
# chage -E 0 username
ユーザーアカウント「username」がシステムにロックされます。ユーザーアカウントを再度有効にするには:
アカウントのロック解除:
# chage -E -1 username
ユーザーアカウント「username」がシステムで再度有効になります。同じパスワードを使用してください。以前のように。 「chage」バイナリは次のとおりです。シャドウツールRed Hat LinuxのパッケージまたはパスワードDebian Linuxのパッケージ。
答え4
完全に削除するにはを使用してくださいuserdel
。
アカウントを削除すると、そのユーザーIDがファイルシステムのどこかで引き続き使用される危険性があり、同じユーザーIDを持つ新しいユーザーがそのファイルの所有権を継承します。
削除されたユーザーが所有するファイルの所有者を変更できます。
後でユーザーを再追加するには、その行/etc/passwd
(Solarisの場合/etc/shadow
)を一時ファイルに保存します/etc/passwd_deleted
。
これにより、再追加時に同じユーザーIDと同じパスワード(上記のファイルのいずれかに暗号化されている)を使用できます。
免責事項:私はUNIXを自分で学んだので、ユーザーを一時的に無効にするより良い方法があっても驚かないでしょう。実際、私はあなたが言う秘密/公開鍵が何であるかさえ知りません。また、find
その所有者ユーザーIDを持つファイルを見つけるために使用できるコマンドがあると確信しています。