Unix/Linux システムにおける nobody ユーザーと nologin の詳細な紹介

Unix/Linux システムにおける nobody ユーザーと nologin の詳細な紹介

Unix/Linux システムの nobody ユーザーとは何ですか?

1. Windows システムはインストール後にいくつかのユーザー アカウントを自動的に作成します。Linux システムでは、Windows システムの組み込みアカウントと同様に、システムのインストール後に存在するユーザー アカウントもいくつかあります。

2. これらは、nobody や ftp などの特定のタスクを実行するために使用されます。LinuxSir.Org の Web プログラムにアクセスすると、公式 Web サイトのサーバーは、顧客が「nobody」(Windows システムの匿名アカウントに相当) としてログインすることを許可します。

匿名で ftp にアクセスする場合は、ユーザー ftp または nobody を使用します。

3. まず第一に、誰も特権ユーザーではなく、一般ユーザーではありません。 nobody ユーザー名を使用する「目的」は、誰でもシステムにログインできるようにすることですが、その UID と GID はいかなる権限も提供しません。つまり、uid と gid は誰でも読み取りおよび書き込み可能なファイルにのみアクセスできます。

4. 次に、多くのシステムでは、通常、デフォルトで nobody を作成し、「権限を最小限に制限」しようとします。サーバーが外部サービスを提供する場合、クライアントが nobody としてログインすることを許可する場合があります。

5. Nobody は通常のアカウントです。デフォルトのログイン シェルは '/sbin/nologin' であるため、このユーザーはシステムに直接ログインできません。つまり、ハッカーが脆弱性を利用してサーバーに接続し、損害を与えることは困難です。さらに、このユーザーの権限も非常に低く設定されています。そのため、セキュリティが高くなります。すべてに最小限の権限が与えられます。これが誰の存在の意味でもない。

Unix/Linux システムでユーザー シェルが /sbin/nologin である場合、それは何を意味しますか?

ユーザーのデフォルト シェルが /sbin/nologin に設定されている場合、このユーザーはシステムにログインできません。

nologin の機能は、特定のユーザーが ssh 経由でシェルにログインすることを制限することです。

たとえば、nginx、mysql、php-fpmなどのアプリケーションのユーザーのデフォルトシェルを/sbin/nologinに設定できます。

主にシステムセキュリティの向上のため

システム アカウントのシェルは /sbin/nologin を使用するため、パスワードを入力してもシステムにログインできません。

いわゆる「ログインできない」というのは、ユーザーが bash や他のシェルを使用してシステムにログインできないことを意味するだけであり、このアカウントがシステム リソースを使用できないことを意味するわけではありません。たとえば、さまざまなシステム アカウントのうち、印刷ジョブは lp アカウントによって管理され、www サーバーは apache アカウントによって管理されます。これらのアカウントはすべてシステム プログラム作業を実行できますが、ホストにログインすることはできません。

メール サービスなどの一部のサービスは、主にホストからのメールを受信するために使用され、ログインを必要としない場合があります。アカウントがシェルを取得するためにホストに接続しようとした場合、それを拒否できます。

場合によっては、/etc/nologin ファイルを使用して、他のユーザーのログインを一時的に禁止することができます。具体的な方法は、/etc/ ディレクトリに nologin という名前のファイルを作成することです。

例えば:

 #touch /etc/nologin

これにより、後続のユーザーがシステムにログインできなくなります。
ユーザーのログインが禁止されている場合、/etc/nologin ファイルの内容がユーザーに表示され、点滅します。

たとえば、/etc/nologin ファイルに次の内容を追加します。

#vi /etc/nologin
管理者によるログインを一時的に無効にします。

ユーザーがログインしようとすると、「一時的に管理者ログインを禁止します」というメッセージが表示されます。システムメンテナンスが完了すると、/etc/nologin ファイルは削除され、他のユーザーは再びログインできるようになります。これは、シェルにログインできるユーザーのみに限定されます。

ログイン シェルが /sbin/nologin であるユーザーには効果がありません。ユーザー自身がシェルにログインできないためです。

さらに、/sbin/nologin を持つユーザーにホストにログインできないことを知らせたい場合は、新しいファイル /etc/nologin.txt を作成し、ログインできない理由を記述します。ユーザーがログインすると、このファイルの内容が画面に表示されます。

例えば:

 #vi /etc/nologin.txt
 このアカウントはシステム アカウントまたはメール アカウントです。
 #su - メール

「このアカウントはシステム アカウントまたはメール アカウントです。」というメッセージが表示されます。

補充:

2 つのファイル /etc/nologin と /etc/nologin.txt の機能は同じではありません。

/etc/nologin ファイルが存在する場合、一般的な ID アカウントはログイン時に /etc/nologin の内容のみを取得し、ホストに直接ログインすることはできません。

つまり、/etc/nologin が作成され、その内容が「この Linux サーバーは.... を維持しています」に設定されている場合、ログインしようとするすべてのユーザーにこれらのプロンプトが表示され、システムにログインできなくなります。

/etc/nologin ファイルを削除した後でのみ、一般ユーザーは通常どおりログインできます。

要約:

Linux/Unixシステムでは誰も匿名ユーザーではなく、サーバー上の公開コンテンツにのみアクセスできます。

/sbin/nologin は Linux/Unix システムのシェル設定項目です。ログインシェルが /sbin/nologin であるユーザーはシステムにログインできません。

/etc/nologin.txt は、シェルが /sbin/nologin であるユーザーのみを対象としています。

/etc/nologinは一般ユーザー全員を対象としていると理解できる

以下もご興味があるかもしれません:
  • UNIX/LINUX SHELL 正規表現構文の詳細な説明と使用法
  • Linux および Unix サーバーのセキュリティを強化する方法
  • おすすめコレクション: 便利な Unix/Linux コマンド スキル
  • Supervisor のインストールと構成の詳細な説明 (Linux/Unix プロセス管理ツール)
  • Linux/Unix で Vim を再起動せずに .vimrc ファイルを再読み込みする手順
  • Linux シェル入門: Linux、OS X、Unix のシェル環境をマスターする
  • Linux/Unix で Perl モジュールをインストールする 2 つの方法
  • Unix/Linuxフォークの隠れたオーバーヘッド

<<:  js でクラスセレクターと名前属性セレクターを実装する手順の例

>>:  MySQL 子テーブルで外部キー制約チェックを無効にする方法

推薦する

CSS Houdini でダイナミックな波効果を実現

CSS Houdini は、CSS 分野における最もエキサイティングなイノベーションとして知られてい...

htmlはハイパーリンク付きの新しいウィンドウを開き、ウィンドウのプロパティを制御できます。

1. HTMLハイパーリンクによって開かれるウィンドウのサイズコードをコピーコードは次のとおりです...

Windows 2016 Server セキュリティ設定

目次システムアップデート構成Windows Update サーバーの変更自動更新を有効にして許可する...

jQueryのanimateアニメーションメソッドとアニメーションキューイング問題の解決方法の詳しい説明

目次animate() アニメーションメソッドアニメーションキューイングdelay() メソッドアニ...

CocosCreator Huarongdaoデジタルパズルの詳しい説明

目次序文文章1. パネル2. 華容島ソリューション3. コード4. 注記序文華容路とは何ですか? 誰...

Linux ブートシステム方式の分析

この記事では、Linux システムを起動する方法について説明します。ご参考までに、詳細は以下の通りで...

MySQL学習データベース検索文DQL小百章

目次1. データの簡単な取得2. データの並べ替えと取得2.1. 基本構文2.2. ソート方向を指定...

pagodaを使用してionCube拡張機能をインストールする方法

1. まずパゴダを設置するインストール要件: Python バージョン: 2.6/2.7 (Pago...

mysql5.7.20 での最初のログイン失敗に対する簡単な解決策

まず、 (1)MySQL 5.7にはデフォルトのパスワードがあるデフォルトのパスワードを見つける g...

MySQL データ ウェアハウスを保護するための 5 つのヒント

さまざまなソースからデータを集約することで、中央倉庫を作成できます。データ ウェアハウスは、ビジネス...

Vueフォームバインディングとコンポーネントの詳細な説明

目次1. 双方向データバインディングとは1. データの双方向バインディングを実装する必要があるのはな...

Linux システムファイル共有 samba 設定チュートリアル

目次sambaをアンインストールしてインストールする新しい共有パスを作成し、権限を設定するSamba...

M1 ProチップでVueプロジェクトを開始する方法

目次導入Homebrewをインストールするnvmをインストールするノードをインストールするインストー...

Vue の一般的な問題と解決策の概要 (推奨)

Vue に限定されず、他の種類の SPA プロジェクトにも当てはまる問題がいくつかあります。 1....

IE5.0以降のHTCコンポーネントの定義の概要

Microsoft IE 5.0 がリリースされる前は、Web プログラミングにおける最大の課題は、...