このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

ログインの管理:特定のユーザーのログインを禁止する(方法1:パスワードロック)

 Linuxシステムにおいて、セキュリティの確保や業務の効率化のためには、特定のユーザーのログインを制限することが重要です。特定のユーザーが不必要にシステムにアクセスすることを防ぐために、ログインを禁止する方法がいくつか存在します。

 その中でも、最も一般的な方法の一つが「パスワードロック」です。パスワードロックを利用することで、指定したユーザーのパスワードを無効にし、ログインを禁止することができます。この手法は、特定のユーザーの一時的なアクセス制限や、セキュリティ上の理由でユーザーアカウントを保護する際に有効です。

特定の一般ユーザーのログインを禁止する方法

特定の一般ユーザーのログインを禁止する方法には、主に2つの方法があります。

  • パスワードロック
     passwd コマンドや usermod コマンドを使用して、ユーザーのパスワードをロックします。これにより、該当ユーザーはログインできなくなります。
  • 無効なログインシェルの設定
     usermod コマンドや chsh コマンドを使用して、ユーザーのログインシェルを無効なシェルに設定します。これにより、ログインを試みても成功しなくなります。

ここでは、パスワードロックによる特定のユーザーのログインを禁止する方法について解説します。

passwdコマンド(セキュリティ)

passwd コマンドでユーザーのパスワードをロックすると、ロック成功のメッセージが表示されます。

【構文】
passwd [オプション] ユーザー名

主なオプションと説明
オプション説明
-lユーザーのパスワードをロックします。
-uユーザーのパスワードをアンロックします。
主なオプションと説明

usermodコマンド(セキュリティ)

 usermod コマンドでも、一般ユーザーのパスワードをロックすることができます。このコマンドでロックした場合、ロック成功のメッセージは表示されません。

【構文】
usermod [オプション] ユーザー名

主なオプションと説明
オプション説明
-Lユーザーのパスワードをロックします。
-Uユーザーのパスワードをアンロックします。
-s シェル指定したシェルをユーザーのデフォルトシェルに設定します。
主なオプションと説明

設定方法と解説(CentOS 7の場合)

パスワードロックによるユーザーのログイン禁止の設定

以下の手順に従って、パスワードロックによるユーザーのログイン禁止を設定します。

1.rootユーザーでログインします。

・ログイン画面からrootを選択し、パスワードを入力してログインします。

2.passwdコマンドでtaroユーザーのパスワードをロックします。

・「passwd -l taro」コマンドを実行します。

[root@localhost ~]# passwd -l taro
ユーザー taro 用のパスワードをロック。
passwd: 成功
3./etc/shadowファイルを確認します。

・「grep '^taro' /etc/shadow」コマンドを実行します。

このコマンドは、/etc/shadow ファイルから taro ユーザーに関連するエントリを表示します。

[root@localhost ~]# grep '^taro' /etc/shadow
taro:!!$6$GsFZcDKa$TRQmW8aiLejkLouMByxRucSPhFUZaWNy/MJYQd9HO5SN.uYSmh/
FMmdvd6msVuesYTV3fOhhOV1Pfw/dFIWLy1:19957:0:99999:7:::

 ロックされているパスワードは、/etc/shadow ファイルのパスワード欄の先頭に !! が付いています。この状態だとユーザーはログインできません。

4.ログアウトしてtaroユーザーでログインを試みます。

taroユーザーでログインを試みますが、ログインできないことを確認します。

・「電源」アイコン→「root」→「ログアウト」を選択します。

・「ログアウト」ボタンをクリックします。

・taroユーザーのパスワードを入力してログインを試みます。

ログインに失敗します。

5.rootユーザーで再度ログインします。

・ログイン画面からrootを選択し、パスワードを入力してログインします。

6.passwdコマンドでtaroユーザーのパスワードをアンロックする。

・「passwd -u taro」コマンドを実行します。

[root@localhost ~]# passwd -u taro
ユーザー taro 用のパスワードをロック解除。
passwd: 成功
7.usermodコマンドでhanakoユーザーのパスワードをロックします。

・「usermod -L hanako」コマンドを実行します。

[root@localhost ~]# usermod -L hanako
8.ログアウトしてhanakoユーザーでログインを試みます。

hanakoユーザーでログインを試みますが、ログインできないことを確認します。

・「電源」アイコン→「root」→「ログアウト」を選択します。

・「ログアウト」ボタンをクリックします。

・hanakoユーザーのパスワードを入力してログインを試みます。

ログインに失敗します。

9.rootユーザーで再度ログインします。

・ログイン画面からrootを選択し、パスワードを入力してログインします。

10.usermodコマンドでhanakoユーザーのパスワードをアンロックします。

・「usermod -U hanako」コマンドを実行します。

[root@localhost ~]# usermod -U hanako

まとめ

 特定の一般ユーザーのログインを禁止する際には、パスワードをロックする方法が有効です。この方法を活用することで、特定のユーザーのアクセスを制限し、システムのセキュリティを強化することができます。