Linuxにroot ユーザーのログインをロックします。
sudo usermod -L root
shadowで止めるだけ。
man usermod によると
- -L ユーザのパスワードをロックする。 これは暗号化されたパスワードの前に '!' を追加し、 実質的にパスワードを無効にする。 このオプションを -p や -U と同時に用いることはできない。
- -U ユーザのパスワードをアンロックする。 これは暗号化されたパスワードの先頭の '!' を取り除く。 このオプションを -p や -L と同時に用いることはできない。
ということである。
ちなみに passwd -l root でも同じ。
passwd -l root
もログインの無効化でよく紹介される。これも全く同じ。
というわけで、以下の3つは同じです。
passwd -l root usermod -p “!” root usermod -L root
どれでも好きなものつかってパスワードを無効にして、ログインできなくすればいい。
root 以外でも大丈夫
なんかサーバーのパスワードが取られた!やtakuya仕事辞めたけど、いきなりアカウント消すとファイルのパーミッションとか色々ヤバイ。なんてときに
sudo usermod -L takuya
でログインをロックアウトしてしまえばいいわけです。一時的に無効にし、後日また戻すときに、パスワードを再発行しなくていいですね。便利。メンテ中だけ有効にするアカウントとかで利用可能です。
パスワードがroot に設定された状態?
このroot にはパスワードが設定されているのでログインができます。
(パスワード設定済み)
これを無効にすることで、ログインが全部失敗になります。
(!を追加した状態)
空のパスワードと比較して一致すること無いのでログイン通りません、 su root も出来ません
別ユーザーでも同じです。