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

ログインの管理:一般ユーザ全員のログインを禁止する

ログインの管理:一般ユーザ全員のログインを禁止する

 Linuxシステムでは、セキュリティの強化やシステムメンテナンス中に、一般ユーザーのログインを一時的に制限することが重要です。この管理手法は、業務効率化にも寄与し、不要なアクセスを防ぐために有効です。以下では、一般ユーザー全員のログインを禁止する具体的な方法とその設定手順について解説します。

ログインの管理の概要

  • セキュリティの確保
     Linuxシステムでは、必要なユーザーだけがアクセスできるようにすることで、不正アクセスやシステムへの影響を防ぎます。
  • 業務効率化
     不要なユーザーのログインを制限することで、システムリソースを有効活用し、業務に必要なプロセスだけを実行できます。

一般ユーザー全員のログインを禁止する

  • 利用シーン
    システムメンテナンス中や、一時的に全ユーザーのアクセスを制限したい場合に有効です。
  • 設定方法
     /etc/nologin ファイルを作成することで、全ての一般ユーザーのログインを禁止できます。ファイルの中身は空で問題ありません。このファイルは、rootユーザーまたはsudoコマンドで作成する必要があります。

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

一般ユーザー全員のログインを禁止する設定

1.rootユーザーに切り替えます。

・「su -」コマンドを実行します。

管理者権限で操作を行うためにrootユーザーに切り替えます。

[user01@localhost ~]$ su -
パスワード:
最終ログイン: 2024/08/17 (土) 12:17:54 JST日時 pts/0
[root@localhost ~]# 
2.ユーザー「taro」と「hanako」を作成します。

一般ユーザーを既に作成済みであれば、ここの操作は必要ありません。

もし、一般ユーザーを作成していなければ、次のコマンドを実行します。

  • adduser taro」コマンド
  • passwd taro」コマンド
  • adduser hanako」コマンド
  • passwd hanako」コマンド

 このコマンドで新しいユーザーを追加します。これにより、テスト用の一般ユーザーを作成します。パスワードには「password」を指定します。辞書チェックに引っ掛かりますが、このパスワードを設定することができます。

[root@localhost ~]# adduser taro
[root@localhost ~]# passwd taro
ユーザー taro のパスワードを変更。
新しいパスワード:
よくないパスワード: このパスワードは辞書チェックに失敗しました。 - 辞書の単語に基づいています
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。
[root@localhost ~]# adduser hanako
[root@localhost ~]# passwd hanako
ユーザー hanako のパスワードを変更。
新しいパスワード:
よくないパスワード: このパスワードは辞書チェックに失敗しました。 - 辞書の単語に基づいています
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。
3./etc/nologinファイルを作成します。

・「touch /etc/nologin」コマンドを実行します。

 この「/etc/nologin」という空のファイルが存在すると、すべての一般ユーザーのログインが禁止されます。

[root@localhost ~]# touch /etc/nologin
4.ログアウトして「taro」ユーザーでログインを試みます。

・「電源」アイコン→「ログインしているユーザー名」→「ログアウト」を選択します。

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

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

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

ログインに失敗します。

5.同様に、「hanako」ユーザーでログインを試みます。

・同じ手順でログインを試みます。

同様にログインできないことが確認できます。

6.rootユーザーでログインし、/etc/nologinファイルを削除します。

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

・「rm /etc/nologin」コマンドを実行します。

 「/etc/nologin」ファイルを削除することで、再び一般ユーザーのログインを許可します。削除しますかとの問いには「y」と入力します。

[root@localhost ~]# rm /etc/nologin
rm: 通常の空ファイル `/etc/nologin' を削除しますか? y
7.ユーザー「taro」でログインできることを確認します。

・ログアウトして、ログイン画面を表示させます。

・ログイン画面で、ユーザー「taro」でパスワードを入力してログインを試みます。

ログインできるようになりました。

ユーザー「hanako」も同様にログインできます。

まとめ

 /etc/nologinファイルを使用することで、全ての一般ユーザーのログインを一時的に禁止できます。これは、システムメンテナンスや特定の状況で非常に有効な手段です。ただし、通常の運用では、必要な場合にのみ使用し、利用後は必ずこのファイルを削除してログインを再許可することが重要です。