kazmax - Linux で自宅サーバー

Linux ユーザーアカウントをロック・アンロックする

Linuxに作成されたユーザーアカウントをロックする手順、ロックを解除する手順について説明します。

使用するコマンドは、passwdコマンドか、usermodコマンドです。

Last Update : 2009年02月11日

ユーザーアカウントをロック・アンロックする手順

  1. アカウントをロックする
  2. アカウントのロックを解除する
  3. アカウントの状態の確認と変更されるファイル

1. アカウントをロックする

ユーザーアカウントをロックすると、そのアカウントは使用不可の状態になりログインすらできなくなります。 Linuxに作成されたユーザーアカウントをロックするには、passwdコマンドか、usermodコマンドを使用します。

passwd コマンドの書式

passwd -l login
-l 小文字のL(エル)です。アカウントをロックするオプションです。
login ロックするアカウント名

usermod コマンドの書式

usermod -L login
-L アカウントをロックするオプションです。
login ロックするアカウント名

2. アカウントのロックを解除する

アカウントのロックを解除する場合も、passwdコマンドか、usermodコマンドを使用します。 ロック状態を解除すると、ユーザーアカウントのパスワードは以前に設定されていた値に戻り、アカウントも使用可能な状態へ戻ります。

passwd コマンドの書式

passwd -u login
-u アカウントのロックを解除するオプションです。
login ロックを解除するアカウント名

usermod コマンドの書式

usermod -U login
-U アカウントのロックを解除するオプションです。
login ロックを解除するアカウント名

3. アカウントの状態の確認と変更されるファイル

そのユーザーアカウントに、ロック・アンロックを行った後、アカウントの状態を調べる事ができます。 passwdコマンドを使用します。

アカウントの状態の確認

passwd -S login
-S アカウントの状態を確認するオプションです。
login 状態を確認するアカウント名

-S オプションを用いるとアカウントの状態が表示されます。 アカウントの状態の情報は6つの部分からなり、それぞれ以下の意味を示しています。

例として、アカウントhoge_userで確認します。

[root@localhost ~]# passwd -S hoge_user
hoge_user PS 2009-02-10 0 99999 7 -1 (Password set, MD5 crypt.)
フィールド 例の値 フィールドの説明
1番目 hoge_user アカウント名
2番目 PS 状態を示している。
LK:アカウントにロックがかかっているか、パスワードが存在しない。
PS:使用可能なパスワードがある。
3番目 2009-02-10 最後にパスワードが変更された日付
4番目 0 パスワードの最短期限
5番目 99999 パスワードの最長期限
6番目 7 パスワードの警告期間
7番目 -1 パスワードの使用不能期間

hoge_userをロックしてみた場合の出力。

[root@localhost ~]# passwd -l hoge_user
Locking password for user hoge_user.
passwd: Success
[root@localhost ~]# passwd -S hoge_user
hoge_user LK 2009-02-10 0 99999 7 -1 (Password locked.)

PSだった部分が、ロックをかける事により、LKに変わります。
また、(Password locked.)と、一番後ろにロックがかかっていますとコメントが出力されます。

変更されるファイル

passwdコマンド、usermodコマンドによって変更されるファイルは、 /etc/shadow ファイルとなります。

hoge_user のロックのかかっている場合と解除されている場合を確認します。

ロック状態
[root@localhost ~]# grep hoge_user /etc/shadow
hoge_user:!!$1$lfAvWFpA$nU6avxty2Uh0k9Ex2IwWM/:14285:0:99999:7:::

ロックが解除されている場合
[root@localhost ~]# grep hoge_user /etc/shadow
hoge_user:$1$lfAvWFpA$nU6avxty2Uh0k9Ex2IwWM/:14285:0:99999:7:::

ロック状態の場合は、暗号化されたパスワードのフィールドの先頭に「!!」が付与されるだけです。 直接ファイルから!!を消してもロックが解除されます。