Detaillierte Einführung in den Nobody-Benutzer und Nologin im Unix/Linux-System

Detaillierte Einführung in den Nobody-Benutzer und Nologin im Unix/Linux-System

Was ist der Nobody-Benutzer in Unix/Linux-Systemen?

1. Das Windows-System erstellt nach der Installation automatisch einige Benutzerkonten. Im Linux-System gibt es auch einige Benutzerkonten, die nach der Installation des Systems vorhanden sind, genau wie die integrierten Konten im Windows-System.

2. Sie werden verwendet, um bestimmte Aufgaben auszuführen, wie z. B. „nobody“ und „ftp“. Wenn wir das Webprogramm von LinuxSir.Org besuchen, können sich Kunden auf dem Server der offiziellen Website als „nobody“ anmelden (entspricht dem anonymen Konto im Windows-System).

Wenn wir anonym auf FTP zugreifen, verwenden wir den Benutzer „ftp“ oder „nobody“.

3. Zunächst einmal ist niemand ein normaler Benutzer, kein privilegierter Benutzer. Der „Zweck“ der Verwendung des Benutzernamens „nobody“ besteht darin, jedem die Anmeldung beim System zu ermöglichen, seine UID und GID verleihen jedoch keinerlei Privilegien, das heißt, die UID und GID können nur auf Dateien zugreifen, die für jeden lesbar und beschreibbar sind.

4. Zweitens erstellen viele Systeme standardmäßig einen Niemand und versuchen, „seine Berechtigungen auf das Minimum zu beschränken“. Wenn der Server externe Dienste bereitstellt, kann er dem Client erlauben, sich als Niemand anzumelden.

5. Niemand ist ein gewöhnliches Konto. Da die Standard-Anmeldeshell „/sbin/nologin“ ist, kann sich dieser Benutzer nicht direkt beim System anmelden. Das bedeutet, dass es für Hacker schwierig ist, über Schwachstellen eine Verbindung zu Ihrem Server herzustellen und Schaden anzurichten. Darüber hinaus sind die Berechtigungen dieses Benutzers auch sehr niedrig konfiguriert. Daher bietet es eine höhere Sicherheit. Für alles werden Mindestberechtigungen erteilt. Dies ist der Sinn der Existenz eines Niemands.

Was bedeutet es, wenn die Benutzer-Shell in Unix/Linux-Systemen /sbin/nologin ist?

Wenn die Standard-Shell eines Benutzers auf /sbin/nologin eingestellt ist, ist es diesem Benutzer untersagt, sich beim System anzumelden.

Die Funktion von nologin besteht darin, die Anmeldung bestimmter Benutzer bei der Shell über SSH einzuschränken.

Beispielsweise können Sie die Standard-Shell von Benutzern von Anwendungen wie nginx, mysql, php-fpm auf /sbin/nologin festlegen

Hauptsächlich zur Verbesserung der Systemsicherheit

Die Shell des Systemkontos verwendet /sbin/nologin, daher können Sie sich nicht beim System anmelden, selbst wenn Sie ein Kennwort eingeben.

Das sogenannte „Anmeldung nicht möglich“ bedeutet lediglich, dass der Benutzer sich nicht über Bash oder andere Shells beim System anmelden kann, es bedeutet jedoch nicht, dass dieses Konto keine Systemressourcen verwenden kann. Beispielsweise werden unter den verschiedenen Systemkonten Druckaufträge vom Konto lp verwaltet und der WWW-Server vom Konto apache. Sie alle können Systemprogrammarbeiten ausführen, sich jedoch nicht beim Host anmelden.

Manchmal dienen manche Dienste, wie etwa Mail-Dienste, hauptsächlich zum Empfangen von E-Mails vom Host und erfordern keine Anmeldung. Wenn ein Konto versucht, eine Verbindung zu meinem Host herzustellen, um eine Shell zu erhalten, können wir dies ablehnen.

Manchmal können Sie die Datei /etc/nologin verwenden, um anderen Benutzern vorübergehend die Anmeldung zu verweigern. Die konkrete Methode besteht darin, im Verzeichnis /etc/ eine Datei mit dem Namen nologin zu erstellen.

Zum Beispiel:

 #berühren /etc/nologin

Dadurch wird verhindert, dass sich nachfolgende Benutzer beim System anmelden.
Wenn einem Benutzer die Anmeldung untersagt ist, wird dem Benutzer der Inhalt der Datei /etc/nologin blinkend angezeigt.

Fügen Sie beispielsweise den folgenden Inhalt zur Datei /etc/nologin hinzu:

#vi /etc/nologin
Anmeldung durch Administrator vorübergehend deaktivieren!

Wenn ein Benutzer versucht, sich anzumelden, wird ihm die Meldung „Anmeldung durch Administrator vorübergehend deaktivieren!“ angezeigt. Nach Abschluss der Systemwartung wird die Datei /etc/nologin gelöscht und andere Benutzer können sich wieder anmelden. Dies ist nur auf Benutzer beschränkt, die sich bei der Shell anmelden können.

Es hat keine Auswirkungen auf Benutzer, deren Anmelde-Shell /sbin/nologin ist, da sie sich nicht selbst bei der Shell anmelden können.

Wenn ich außerdem einem Benutzer mit /sbin/nologin mitteilen möchte, dass er sich nicht beim Host anmelden kann, kann ich eine neue Datei /etc/nologin.txt erstellen und den Grund dafür angeben. Wenn sich der Benutzer anmeldet, wird der Inhalt dieser Datei auf dem Bildschirm angezeigt.

Zum Beispiel:

 #vi /etc/nologin.txt
 Bei diesem Konto handelt es sich um ein Systemkonto bzw. Mailkonto.
 #su - E-Mail

Die Meldung „Bei diesem Konto handelt es sich um ein Systemkonto oder E-Mail-Konto.“ wird angezeigt.

Auffüllen:

Die Funktionen der beiden Dateien /etc/nologin und /etc/nologin.txt sind nicht identisch.

Wenn die Datei /etc/nologin vorhanden ist, erhält jedes allgemeine Identitätskonto beim Anmeldeversuch nur den Inhalt von /etc/nologin und kann sich nicht direkt beim Host anmelden.

Das heißt, wenn /etc/nologin erstellt wird und sein Inhalt auf „Dieser Linux-Server verwaltet …“ eingestellt ist, sieht jeder, der versucht, sich anzumelden, diese Eingabeaufforderungen und kann sich nicht beim System anmelden.

Erst nach dem Löschen der Datei /etc/nologin können sich normale Benutzer normal anmelden.

Zusammenfassen:

Im Linux/Unix-System ist niemand ein anonymer Benutzer und kann nur auf öffentliche Inhalte auf dem Server zugreifen

/sbin/nologin ist ein Shell-Einstellungselement im Linux/Unix-System. Benutzer, deren Login-Shell /sbin/nologin ist, dürfen sich nicht beim System anmelden.

/etc/nologin.txt ist nur für Benutzer, deren Shell /sbin/nologin ist

/etc/nologin kann so verstanden werden, dass es sich an alle normalen Benutzer richtet

Das könnte Sie auch interessieren:
  • UNIX/LINUX SHELL - Syntax regulärer Ausdrücke - Detaillierte Erklärung und Verwendung
  • So verbessern Sie die Sicherheit von Linux- und Unix-Servern
  • Empfohlene Sammlung: Nützliche Unix/Linux-Befehlskenntnisse
  • Detaillierte Erläuterung der Installation und Konfiguration von Supervisor (Linux/Unix-Prozessmanagementtool)
  • Vorgehensweise zum Neuladen der .vimrc-Datei ohne Neustart von Vim in Linux/Unix
  • Einführung in die Linux-Shell: Beherrschen Sie die Shell-Umgebung von Linux, OS X und Unix
  • Zwei Möglichkeiten zur Installation von Perl-Modulen unter Linux/Unix
  • Versteckter Overhead von Unix/Linux-Forks

<<:  So deaktivieren Sie die Überprüfung auf Fremdschlüsseleinschränkungen in untergeordneten MySQL-Tabellen

>>:  Spezifische Verwendung des Ausnahmefilters Exceptionfilter in nestjs

Artikel empfehlen

Einfache Implementierung von Vue Drag & Drop

In diesem Artikel wird hauptsächlich die einfache...

Natives js zum Erzielen eines Akkordeoneffekts

Auch bei der tatsächlichen Entwicklung von Websei...

Verwenden Sie Vue3 zur Datenbindung und Anzeigelistendaten

Inhaltsverzeichnis 1. Vergleich mit Vue2 1. Neue ...

Grundkenntnisse der MySQL-Datenbank

Inhaltsverzeichnis 1. Datenbanken verstehen 1.1 D...

So stellen Sie eine Verbindung zum MySQL-Visualisierungstool Navicat her

Nach der Installation von Navicat Der folgende Fe...

SQL-Implementierung von LeetCode (197. Steigende Temperatur)

[LeetCode] 197.Steigende Temperatur Schreiben Sie...

JavaScript imitiert die Spezialeffekte der Jingdong-Lupe

In diesem Artikel wird der spezifische Code von J...

So verwenden Sie Zen-Codierung in Dreamweaver

Nachdem ich meinen letzten Artikel „Zen Coding: Ei...

H-Tags sollten bei der Erstellung von Webseiten sinnvoll verwendet werden

HTML-Tags haben spezielle Tags zur Handhabung des ...