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 子テーブルで外部キー制約チェックを無効にする方法

推薦する

vue+antv でレーダーチャートを実装するためのサンプルコード

1. 依存関係をダウンロードするnpm インストール @antv/データセットnpm インストール ...

Docker Composeオーケストレーションツールの詳細な説明

Docker の作成Docker Compose は、複数の Docker コンテナを定義して実行す...

React.FCとReact.Componentの使用に関する簡単な説明

目次1. React.FC<> 2. クラスxxはReact.Componentを拡張し...

Spring Boot 2.4 の新機能、ワンクリックビルド、Docker イメージプロセスの詳細説明

背景開発プロセス中に Docker コンテナ化をサポートするために、通常は Maven を使用してコ...

Vue3 ドラッグ可能な左パネルと右パネルの分割コンポーネントの実装

目次コンポーネントの分解左パネル右パネル入力パラメータの分解小道具スロット具体的な実装ドラッグする方...

Mysql 中国語ソートルールの説明

MySQL を使用する際、フィールドをソートしたりクエリしたりすることがよくあります。通常は、中国語...

Linux ファイルとユーザー管理の実践

1. /etc ディレクトリ内の、文字以外の文字で始まり、その後に文字と任意の長さのその他の文字が続...

WeChatアプレットでグローバル変数を監視する方法

最近、仕事で問題に遭遇しました。グローバル変数 red_heart があります。これは多くの場所で使...

CSSは、閉じることができるマスクレイヤーを備えたポップアップウィンドウ効果を実装します。

実際の開発ではポップアップウィンドウがよく使われます。CSS3を勉強していたときに、閉じることができ...

丸い角や鋭い角を表現するために、絵の代わりに文字を使用する研究

Google Gmail ページから撮った次のスクリーンショットをご覧ください (同じ場所からスクリ...

Dockerでudpポート番号を指定する問題を解決する

Docker はコンテナを起動するときにアクセス ポートを指定します。複数の -p オプションを使用...

nginxとIISで使用できるSSL証明書を作成する

目次SSL証明書の作成1. 秘密鍵を生成する2. 証明書要求ファイルを生成する3. CRT証明書ファ...

CSS -webkit-box-orient: コンパイル後に垂直プロパティが失われる

1. 原因要件は 2 行を表示することであり、余分なテキストは 3 つのドットに置き換えられるため、...

Linux クラウド サーバーに新しいディスクをマウントする方法

背景社内に新しいサーバーが追加され、2Tのハードディスクがマウントされました。sshでログイン後、マ...

Tomcat サーバー入門の超詳細なチュートリアル

目次1. Tomcat の概念–1、サーバー–2、ウェブサーバー–3、Tomcatサーバー次にTom...