So deaktivieren Sie den Shell-Zugriff auf das Benutzerkonto unter Linux

Standardmäßig hat der Benutzer beim Erstellen eines Benutzerkontos unter Linux explizit SSH-Zugriff. Es gibt Situationen, in denen Benutzerkonten keinen Shell-Zugriff auf FTP, E-Mails oder SSH benötigen.

In diesem Tutorial erfahren Sie, wie Sie den Shell-Zugriff für vorhandene Linux-Benutzer deaktivieren oder einen neuen Benutzer ohne Shell-Zugriff erstellen.

Erstellen Sie einen neuen Benutzer ohne Shell-Zugriff

Beim Erstellen eines Benutzerkontos wird dem Benutzer standardmäßig eine Shell zugewiesen, wie in der Datei /etc/default/useradd definiert.

Beim Erstellen eines Benutzerkontos können Sie Shell explizit angeben, welcher Benutzer sich anmelden soll.

Linux wird mit einer /sbin/nologin-Shell geliefert, die die Meldung “Dieses Konto ist derzeit nicht verfügbar” anzeigt, wenn ein Benutzer versucht, eine Verbindung herzustellen. Dies ist eine Möglichkeit, den Zugriff des Benutzers auf die Login-Shell zu deaktivieren.

Lassen Sie uns zwei Befehle überprüfen, um einen Benutzer mit einer deaktivierten Shell zu erstellen.

Verwenden von useradd:

Syntax:

useradd -s /sbin/nologin {Benutzername}

Verwenden von adduser:

Syntax:

adduser –shell /sbin/nologin {Benutzername}

Shell für einen bestehenden Benutzer deaktivieren

Um die Shell für den vorhandenen Benutzer zu ändern, verwenden Sie den Befehl chsh oder usermod.

Verwenden von chsh:

Syntax:

chsh -s /sbin/nologin {Benutzername}

Geben Sie Folgendes ein, um die Shell für den Benutzer bob in nologin zu ändern:

$ sudo chsh -s /sbin/nologin bob

Usermod verwenden:

Syntax:

usermod {Benutzername} -s {Shell-Pfad}

Um die Shell für den Benutzer bob in /sbin/ftpnologin zu ändern, geben Sie Folgendes ein:

$ sudo usermod bob -s /sbin/ftpnologin

Sie können die Shell so anpassen, dass eine Nachricht angezeigt wird, wenn sich Benutzer über FTP anmelden.

cat /sbin/ftpnologin !/bin/sh Kein Shell-Zugriff. Nur FTP-Zugriff erlaubt.

Geben Sie Folgendes ein, um eine ausführbare Berechtigung zu erteilen:

$ sudo chmod a+x /sbin/ftpnologin

Alle Shells sind in /etc/shell verfügbar, fügen Sie eine neue Shell an diese Liste an:

$ echo “/sbin/ftpnologin” | sudo tee -a /etc/shells

Anstatt die oben genannten Methoden auszuführen, können Sie die Shell manuell ändern, indem Sie die Datei /etc/password bearbeiten, die auch funktioniert.

Fazit

In diesem Tutorial haben wir gelernt, wie man einem Benutzerkonto den Zugriff auf die Standard-Shell deaktiviert. Danke fürs Lesen.