#navi(../)
* ユーザアカウントをロック・アンロックする方法 [#b9f200ce]
あるユーザアカウントをロック(ログインできないようにする)したい場合は以下の手順で実現することができます。~
この記事では、ロックするユーザアカウントのホームディレクトリ等を削除せずに、ログインができないようにする方法を記述します。~
またロックしたユーザをアンロック(ロックの解除)を行う手順も記述します。
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* 関連資料 [#wa840365]
-[[逆引きUNIXコマンド/ユーザーのサブグループの追加と削除・gpasswd>逆引きUNIXコマンド/ユーザーのサブグループの追加と削除・gpasswd]]
-[[ユーザーの所属グループのIDとグループ名の確認方法・id>逆引きUNIXコマンド/ユーザーの所属グループのIDとグループ名の確認方法・id]]
-[[グループ一覧の取得>逆引きシェルスクリプト/グループ一覧の取得]]
-[[UIDの値を指定してユーザーを追加する・adduser>逆引きUNIXコマンド/UIDの値を指定してユーザーを追加する・adduser]]
* ユーザアカウントのロック [#g9f691e7]
以下のコマンドによりユーザアカウントをロックすることができます。~
(ログインできなくなります。)
usermod -L ユーザアカウント
Ubuntuの場合は、上記コマンドの前ににsudoをつけ実行してください。~
CentOSなどの場合はrootになり上記コマンドを実行してください。
&color(red){注意};~
rootアカウントが存在せず、ログインアカウントが1つしか無い場合、以下の手順を試すと1つしかないユーザアカウントがロックされますのでログインができなくなります。~
ユーザアカウントのロックを試す場合は、2つ以上のユーザアカウントを作成してください。~
実際にUbuntuで試してみました。~
+ ユーザアカウントをロックする
ログインし、端末を起動し以下のようにユーザアカウントsakuraをロック。
$ sudo usermod -L sakura
[sudo] password for sakura:
+ suを試す~
ログインできなくなっているので認証失敗となる。
$ su - sakura
パスワード:
su: 認証失敗
但し、rootユーザからロックしたユーザアカウントのsuや以下のようにすれば、ロックしたユーザアカウントにsuすることができます。
$ sudo su - ロックしたユーザアカウント
または、rootユーザになり以下のコマンドを実行。
# su -
* なぜロックされるのかを説明(ログインできなくなる理由) [#v72f8338]
usermodコマンドをmanで確認するとわかります。~
以下、man usermodの抜粋です。
USERMOD(8) USERMOD(8)
名前
usermod - ユーザアカウントを修正する
<snip>
-L ユーザのパスワードをロックする。 これは暗号化されたパスワードの前に '!' を追加し、 実質的にパスワードを無効にする。
このオプションを -p や -U と同時に用いることはできない。
<snip>
上記の通り、パスワードの前に!が追加されログインできなくなります。~
(!が先頭にあることによりログインできなくなります)
パスワードが保存されているshadowファイルを確認すると第二フィールドの暗号化されたパスワードの先頭に!が追加されているのが確認できました。
$ sudo cat /etc/shadow | grep sakura
sakura:!$6$/iJM5Tj2$EZ<snip>75SJkFsL2/:14849:0:99999:7:::
* ロックしたユーザアカウントのロックを解除する [#g34d01f9]
上記手順で指定したユーザアカウントをロック(ログインできなくるなる)しました。~
以下のコマンドによりロックしたユーザアカウントをあんロックします。
usermod -U ユーザアカウント
以下、man usermodの抜粋です。
USERMOD(8) USERMOD(8)
名前
usermod - ユーザアカウントを修正する
<snip>
-U ユーザのパスワードをアンロックする。 これは暗号化されたパスワードの先頭の '!' を取り除く。 このオプションを -p や
-L と同時に用いることはできない。
<snip>
以下、ubuntuで実際にコマンドを実行した結果です。~
先頭の!が取り除かれたのが確認できます。
$ sudo usermod -U sakura
$ sudo cat /etc/shadow | grep sakura
sakura:$6$/iJM5Tj2$EZ<snip>75SJkFsL2/:14849:0:99999:7:::
以上、usermod [-U|-L] ユーザアカウントを利用することにより、ログインのロック/アンロックが可能になります。~
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)