GNU/Linux >> LINUX-Kenntnisse >  >> Linux

4 Möglichkeiten zum Deaktivieren des Root-Kontos in Linux

Die Wurzel Konto ist das ultimative Konto auf Linux und anderen Unix-ähnlichen Betriebssystemen. Dieses Konto hat Zugriff auf alle Befehle und Dateien auf einem System mit vollständigen Lese-, Schreib- und Ausführungsberechtigungen. Es wird verwendet, um jede Art von Aufgabe auf einem System auszuführen; um die Konten anderer Benutzer zu erstellen/aktualisieren/zugreifen/löschen, Softwarepakete zu installieren/entfernen/aktualisieren und vieles mehr.

Denn die Wurzel Der Benutzer hat absolute Befugnisse, alle Aktionen, die er/sie ausführt, sind kritisch für ein System. Diesbezüglich eventuelle Fehler von root Benutzer können enorme Auswirkungen auf den normalen Betrieb eines Systems haben. Darüber hinaus kann dieses Konto auch missbraucht werden, indem es unsachgemäß oder unangemessen verwendet wird, entweder versehentlich, böswillig oder durch vorsätzliche Ignoranz der Richtlinien.

Daher ist es ratsam, den Root-Zugriff auf Ihrem Linux-Server zu deaktivieren und stattdessen ein Administratorkonto zu erstellen, das so konfiguriert werden sollte, dass es mit dem Befehl sudo Root-Benutzerrechte erhält, um kritische Aufgaben auf dem Server auszuführen.

In diesem Artikel erklären wir vier Möglichkeiten, die Anmeldung des Root-Benutzerkontos unter Linux zu deaktivieren.

Achtung :Bevor Sie den Zugriff auf das Stammverzeichnis blockieren vergewissern Sie sich, dass Sie mit dem Befehl useradd ein Administratorkonto erstellt haben, das in der Lage ist, den Befehl sudo zu verwenden, um Root-Benutzerrechte zu erlangen, und geben Sie diesem Benutzerkonto ein sicheres Passwort. Das Flag -m bedeutet Home-Verzeichnis des Benutzers erstellen und -c ermöglicht die Angabe eines Kommentars:

# useradd -m -c "Admin User" admin
# passwd admin

Als nächstes fügen Sie diesen Benutzer der entsprechenden Gruppe von Systemadministratoren hinzu, indem Sie den Befehl usermod verwenden, wobei der Schalter -a bedeutet Benutzerkonto anhängen und -G gibt eine Gruppe an, zu der der Benutzer hinzugefügt werden soll (wheel oder sudo, abhängig von Ihrer Linux-Distribution):

# usermod -aG wheel admin    #CentOS/RHEL
# usermod -aG sudo admin     #Debian/Ubuntu 

Sobald Sie einen Benutzer mit Administratorrechten erstellt haben, wechseln Sie zu diesem Konto, um den Root-Zugriff zu blockieren.

# su admin

1. Ändern Sie die Shell des Root-Benutzers

Die einfachste Methode zum Deaktivieren der Root-Benutzeranmeldung besteht darin, die Shell von /bin/bash zu ändern oder /bin/bash (oder jede andere Shell, die eine Benutzeranmeldung zulässt) nach /sbin/nologin , in /etc/passwd Datei, die Sie zum Bearbeiten mit einem Ihrer bevorzugten Befehlszeilen-Editoren wie gezeigt öffnen können.

  
$ sudo vim /etc/passwd

Ändern Sie die Zeile:

root:x:0:0:root:/root:/bin/bash
to
root:x:0:0:root:/root:/sbin/nologin

Speichern Sie die Datei und schließen Sie sie.

Von nun an, wenn root Wenn sich der Benutzer anmeldet, erhält er/sie die Meldung „Dieses Konto ist derzeit nicht verfügbar. ” Dies ist die Standardnachricht, aber Sie können sie ändern und eine benutzerdefinierte Nachricht in der Datei /etc/nologin.txt festlegen .

Diese Methode ist nur bei Programmen effektiv, die eine Shell für die Benutzeranmeldung benötigen, andernfalls sudo , ftp und E-Mail Clients können auf das Root-Konto zugreifen.

2. Root-Anmeldung über Konsolengerät (TTY) deaktivieren

Die zweite Methode verwendet ein PAM Modul namens pam_securetty , das Root-Zugriff nur zulässt, wenn sich der Benutzer an einem „sicheren“ TTY anmeldet , wie durch die Auflistung in /etc/securetty definiert .

Mit der obigen Datei können Sie angeben, welches TTY Geräten, auf denen sich der Root-Benutzer anmelden darf, verhindert das Leeren dieser Datei die Root-Anmeldung auf allen Geräten, die an das Computersystem angeschlossen sind.

Um eine leere Datei zu erstellen, führen Sie.

aus
$ sudo mv /etc/securetty /etc/securetty.orig
$ sudo touch /etc/securetty
$ sudo chmod 600 /etc/securetty

Diese Methode hat einige Einschränkungen, sie betrifft nur Programme wie Login, Display Manager (z. B. gdm , kdm und xdm ) und andere Netzwerkdienste, die ein TTY starten. Programme wie su, sudo, ssh und andere verwandte openssh-Tools haben Zugriff auf das Root-Konto.

3. Deaktivieren Sie die SSH-Root-Anmeldung

Die gebräuchlichste Art, auf entfernte Server oder VPSs zuzugreifen, ist über SSH, und um die Root-Benutzeranmeldung darunter zu blockieren, müssen Sie die /etc/ssh/sshd_config bearbeiten Datei.

$ sudo vim /etc/ssh/sshd_config

Entkommentieren Sie dann (falls kommentiert) die Anweisung PermitRootLogin und setzen Sie seinen Wert auf no wie im Screenshot gezeigt.

Wenn Sie fertig sind, speichern und schließen Sie die Datei. Starten Sie dann die sshd neu Dienst, um die letzten Konfigurationsänderungen zu übernehmen.

$ sudo systemctl restart sshd 
OR
$ sudo service sshd restart 

Wie Sie vielleicht bereits wissen, wirkt sich diese Methode nur auf den Openssh-Toolset aus, Programme wie ssh, scp, sftp werden am Zugriff auf das Root-Konto gehindert.

4. Beschränken Sie den Root-Zugriff auf Dienste über PAM

Steckbare Authentifizierungsmodule (PAM kurz gesagt) ist eine zentralisierte, austauschbare, modulare und flexible Authentifizierungsmethode auf Linux-Systemen. PAM, über /lib/security/pam_listfile.so Modul, ermöglicht eine große Flexibilität bei der Einschränkung der Privilegien bestimmter Konten.

Das obige Modul kann verwendet werden, um auf eine Liste von Benutzern zu verweisen, denen es nicht erlaubt ist, sich über einige Zieldienste wie Login, ssh und alle PAM-fähigen Programme anzumelden.

In diesem Fall möchten wir den Root-Benutzerzugriff auf ein System deaktivieren, indem wir den Zugriff auf Anmelde- und sshd-Dienste einschränken. Öffnen und bearbeiten Sie zuerst die Datei für den Zieldienst in /etc/pam.d/ Verzeichnis wie gezeigt.

$ sudo vim /etc/pam.d/login
OR
sudo vim /etc/pam.d/sshd

Fügen Sie als Nächstes die unten stehende Konfiguration in beiden Dateien hinzu.

auth    required       pam_listfile.so \
        onerr=succeed  item=user  sense=deny  file=/etc/ssh/deniedusers

Wenn Sie fertig sind, speichern und schließen Sie jede Datei. Erstellen Sie dann die einfache Datei /etc/ssh/deniedusers die ein Element pro Zeile enthalten und nicht weltweit lesbar sein sollte.

Fügen Sie den Namen root hinzu, speichern und schließen Sie es dann.

$ sudo vim /etc/ssh/deniedusers

Legen Sie auch hier die erforderlichen Berechtigungen fest.

$ sudo chmod 600 /etc/ssh/deniedusers

Diese Methode wirkt sich nur auf PAM-fähige Programme und Dienste aus. Sie können den Root-Zugriff auf das System über FTP- und E-Mail-Clients und mehr blockieren.

Weitere Informationen finden Sie auf den entsprechenden Manpages.

$ man pam_securetty
$ man sshd_config
$ man pam

Das ist alles! In diesem Artikel haben wir vier Möglichkeiten zum Deaktivieren der Root-Benutzeranmeldung (oder des Kontos) in Linux erläutert. Haben Sie Kommentare, Vorschläge oder Fragen, können Sie uns gerne über das unten stehende Feedback-Formular erreichen.


Linux
  1. 11 Möglichkeiten, Benutzerkontoinformationen und Anmeldedaten in Linux zu finden

  2. Deaktivieren Sie die Anmeldung mit dem Root-Konto

  3. Methoden zum Deaktivieren des Root-Kontos im Ubuntu 20.04 LTS Linux-System

  4. UNIX / Linux :So sperren oder deaktivieren Sie ein Benutzerkonto

  5. Wie erstelle ich einen zusätzlichen Root-Benutzer?

So aktivieren und deaktivieren Sie das Root-Benutzerkonto in Ubuntu

So listen Sie alle Benutzer in Linux auf

Methoden zum Deaktivieren des Root-Kontos in Linux

Linux – Benutzer zur Sudoers-Liste hinzufügen

Wie deaktiviere ich die SSH-Anmeldung für den Root-Benutzer in Linux?

So erstellen Sie auf mehrere Arten einen Benutzer unter Ubuntu Linux