それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

root ユーザーのログインをロックする

Linuxにroot ユーザーのログインをロックします。

sudo usermod -L root

shadowで止めるだけ。

sudo vipw -s で確認

(パス無効化状態)

ロックをするとか書いたけれど、パスワードを無効にした。
単純にパスワードを絶対に通らないパスワードにしたということである。

元の状態

元の状態に戻すには。

usermod -U root

(093e1b4f773068c4467d1c19721dccdc)
元通りです。

man usermod によると

  • -L ユーザのパスワードをロックする。 これは暗号化されたパスワードの前に '!' を追加し、 実質的にパスワードを無効にする。 このオプションを -p や -U と同時に用いることはできない。
  • -U ユーザのパスワードをアンロックする。 これは暗号化されたパスワードの先頭の '!' を取り除く。 このオプションを -p や -L と同時に用いることはできない。

ということである。

つまり、適当なパスワードをぶっこむと

usermod -p aaaaaaaa root 

ハッシュ値が aaaaaaa になることはまずありえないので、" ! " と同じである。


(shadow を aaaaaaa)


ちなみに 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 も出来ません

別ユーザーでも同じです。

ubuntu の場合

ubuntu の場合、そもそも、root にパスワードかけけていません。これはroot でログインし放題なのではなくroot ログイン出来ないわけです

sudo adduser takuya wheel # ubuntu の場合は wheel じゃなくadminを使う。
usermod -p "" root

みたいにすれば ubuntu っぽい root になります。

(ubuntu の root の場合のshadow ファイルをsudo vipw -s でみる。)