#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)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS