システム管理者は、必然的に、ある時点でスケジュールされたシステムメンテナンスを実行します。数回、システムでいくつかの問題が発生する可能性があり、問題を修正するためにシステムを停止する必要があります。どのような状況であっても、root以外の(通常の)ユーザーがシステムに接続できないようにすることをお勧めします。
また読む :LinuxでSSHルートログインを無効または有効にし、SSHアクセスを制限する
この記事では、 / etc / nologinを使用してroot以外のユーザーのログインをブロックする方法について説明します。 ファイルとnologin Linuxのシェル。実際に何が起こっているのかをユーザーに説明するメッセージを設定する方法を見ていきます。
/ etc/nologinファイルを使用してユーザーログインをブロックする方法
/ etc / nologinの主な機能 fileは、シャットダウンのプロセス中にシステムにログオンしようとしているユーザーに(ファイルに保存されている)メッセージを表示するためのものです。
メッセージがユーザーに表示されると、ログイン手順が終了し、ユーザーがシステムにログオンできなくなります。
これは、次のようにファイルを手動で作成することにより、ユーザーのログインをブロックするために使用できます。
# vi /etc/nologin
以下のメッセージをファイルに追加します。このメッセージは、システムにログオンしようとしているユーザーに表示されます。
The Server is down for a routine maintenance. We apologize for any inconvenience caused, the system will be up and running in 1 hours time. For more information, contact the system admin [email protected].
これで、すべてが機能するかどうかをテストできます。以下のスクリーンショットからわかるように、通常のユーザーtecmint
ログインできません。
nologinシェルを使用してユーザーログインをブロックする方法
この方法の動作は少し異なります。ユーザーがシェルにアクセスするのをブロックするだけです。ただし、 ftpなどのプログラムを介してシステムにログオンできます。 ユーザーがシステムに接続するために必ずしもシェルを必要としない。
さらに、特別なシナリオで特定のユーザーへのシェルアクセスをブロックできるようにすることができます。
RHEL / CentOS/Fedoraの場合
chshを使用するだけです (シェルの変更 ) / etc / passwdのユーザーシェルを変更するコマンド /bin/bash
のようなファイル または/bin/sh
/sbin/nologin
へ ログインを拒否することを意味します。
# chsh -s /bin/nologin tecmint
Debian/Ubuntuについて
ここでは、 / bin / falseを使用する必要があります ファイル。以下のコマンドは、ユーザーのtecmintのを変更します /bin/false
へのシェル 何もしないことを意味します(ユーザーがログイン資格情報を提供した後):
$ sudo chsh -s /bin/false tecmint
以下の関連記事もお読みください。
- Ubuntuでrootログインを有効または無効にする方法
- RHEL /CentOS7で忘れたrootユーザーアカウントのパスワードをリセット/回復する
- chrootJailを使用してSFTPユーザーをホームディレクトリに制限する方法
- Linuxでローカル、ユーザー、およびシステム全体の環境変数を設定および設定解除する方法
それは今のところすべてです!このトピックに関して質問や追加のアイデアがある場合は、以下のコメントフォームを利用してください。