Website-Suche

So beschränken Sie SFTP-Benutzer mithilfe von chroot Jail auf Home-Verzeichnisse


In diesem Tutorial werden wir besprechen, wie Sie SFTP-Benutzer auf ihre Home-Verzeichnisse oder bestimmte Verzeichnisse beschränken können. Das bedeutet, dass der Benutzer nur auf sein jeweiliges Home-Verzeichnis zugreifen kann, nicht auf das gesamte Dateisystem.

Das Einschränken der Benutzerverzeichnisse ist von entscheidender Bedeutung, insbesondere in einer gemeinsam genutzten Serverumgebung, damit ein nicht autorisierter Benutzer keinen Blick in die Dateien und Ordner des anderen Benutzers werfen kann.

Wichtig: Bitte beachten Sie auch, dass der Zweck dieses Artikels darin besteht, nur SFTP-Zugang zu gewähren, nicht SSH-Anmeldungen, indem Sie diesem Artikel folgen, haben Sie die Berechtigungen, Dateiübertragungen durchzuführen, aber nicht berechtigt, eine Remote-SSH-Sitzung durchzuführen.

Empfohlene Lektüre: Beschränken Sie den SSH-Benutzerzugriff auf bestimmte Verzeichnisse mit Chrooted Jail

Der einfachste Weg, dies zu tun, besteht darin, eine chrooted Jail-Umgebung für den SFTP-Zugriff zu erstellen. Diese Methode ist für alle Unix/Linux-Betriebssysteme gleich. Mit der chroot-Umgebung können wir Benutzer entweder auf ihr Home-Verzeichnis oder auf ein bestimmtes Verzeichnis beschränken.

Benutzer auf Basisverzeichnisse beschränken

In diesem Abschnitt erstellen wir eine neue Gruppe mit dem Namen sftpgroup und weisen den Benutzerkonten die korrekte Eigentümerschaft und Berechtigungen zu. Es gibt zwei Möglichkeiten, Benutzer auf Home- oder bestimmte Verzeichnisse zu beschränken, die wir in diesem Artikel in beide Richtungen sehen werden.

Erstellen oder Ändern von Benutzern und Gruppen

Beschränken wir den vorhandenen Benutzer, z.B. tecmint, auf sein Home-Verzeichnis mit dem Namen /home/tecmint. Dazu müssen Sie eine neue sftpgroup-Gruppe mit dem Befehl groupadd erstellen, wie gezeigt:

# groupadd sftpgroup

Weisen Sie als Nächstes den Benutzer 'tecmint' der sftpgroup group group zu.

# usermod -G sftpgroup tecmint

Sie können auch einen neuen Benutzer mit dem Befehl useradd erstellen, z. B. senthil, und den Benutzer der Gruppe sftpusers zuweisen.

# adduser senthil -g sftpgroup -s /sbin/nologin
passwd tecmint

SSH-Konfigurationsdatei ändern

Öffnen Sie die folgenden Zeilen und fügen Sie sie der Konfigurationsdatei /etc/ssh/sshd_config hinzu.

Subsystem sftp internal-sftp
 
   Match Group sftpgroup
   ChrootDirectory /home
   ForceCommand internal-sftp
   X11Forwarding no
   AllowTcpForwarding no

Speichern und beenden Sie die Datei, starten Sie den sshd-Dienst neu, um die neuen Änderungen zu übernehmen.

# systemctl restart sshd
OR
service sshd restart

Wenn Sie mehrere Benutzer in dasselbe Verzeichnis chrooten, sollten Sie die Berechtigungen des Home-Verzeichnisses jedes Benutzers ändern, um zu verhindern, dass alle Benutzer die Home-Verzeichnisse der anderen Benutzer durchsuchen können.

# chmod 700 /home/tecmint

Überprüfen der SSH- und SFTP-Benutzeranmeldung

Jetzt ist es an der Zeit, die Anmeldung von einem lokalen System aus zu überprüfen. Versuchen Sie, Ihr Remote-System von Ihrem lokalen System aus zu ssh.

# ssh [email 

Hier

  1. tecmint – Benutzername des entfernten Systems.
  2. 192.168.1.150 – IP-Adresse des Remote-Systems.
Beispielhafte Ausgabe:
[email 's password: 
Could not chdir to home directory /home/tecmint: No such file or directory
This service allows sftp connections only.
Connection to 192.168.1.150 closed.

Greifen Sie dann über SFTP auf das Remote-System zu.

# sftp [email 
Beispielhafte Ausgabe:
[email 's password: 
Connected to 192.168.1.150.
sftp>

Schauen wir uns das aktuelle Arbeitsverzeichnis an:

sftp&gt pwd
Remote working directory: /

sftp&gt ls
tecmint  

Hier ist tecmint das Home-Verzeichnis. cd in das tecmint-Verzeichnis und erstellen Sie die Dateien oder Ordner Ihrer Wahl.

sftp&gt cd tecmint
Remote working directory: /

sftp&gt mkdir test
tecmint  

Beschränken Sie Benutzer auf ein bestimmtes Verzeichnis

In unserem vorherigen Beispiel beschränken wir die vorhandenen Benutzer auf das Home-Verzeichnis. Jetzt werden wir sehen, wie Sie einen neuen Benutzer auf ein benutzerdefiniertes Verzeichnis beschränken können.

Erstellen einer Gruppe und neuer Benutzer

Erstellen Sie eine neue Gruppe sftpgroup.

# groupadd sftpgroup

Erstellen Sie als Nächstes ein Verzeichnis für die SFTP-Gruppe und weisen Sie dem Root-Benutzer Berechtigungen zu.

# mkdir -p /sftpusers/chroot
chown root:root /sftpusers/chroot/

Erstellen Sie als Nächstes für jeden Benutzer neue Verzeichnisse, auf die er vollen Zugriff hat. Zum Beispiel erstellen wir den Benutzer tecmint und sein neues Home-Verzeichnis mit der richtigen Gruppenberechtigung unter Verwendung der folgenden Befehlsreihe.

# adduser tecmint -g sftpgroup -s /sbin/nologin
passwd tecmint
mkdir /sftpusers/chroot/tecmint
chown tecmint:sftpgroup /sftpusers/chroot/tecmint/
chmod 700 /sftpusers/chroot/tecmint/

Konfigurieren von SSH für den SFTP-Zugriff

Ändern oder fügen Sie die folgenden Zeilen am Ende der Datei hinzu:

#Subsystem  	sftp	/usr/libexec/openssh/sftp-server
Subsystem sftp  internal-sftp
 
Match Group sftpgroup
   ChrootDirectory /sftpusers/chroot/
   ForceCommand internal-sftp
   X11Forwarding no
   AllowTcpForwarding no

Speichern und beenden Sie die Datei. Starten Sie den sshd-Dienst neu, um die gespeicherten Änderungen zu übernehmen.

# systemctl restart sshd
OR
service sshd restart

Das war's, Sie können dies überprüfen, indem Sie sich bei Ihrem Remote-SSH- und SFTP-Server anmelden, indem Sie den oben unter SSH- und SFTP-Anmeldung überprüfen angegebenen Schritt ausführen.

Beachten Sie, dass diese Methode den Shell-Zugriff deaktiviert, d.h. Sie können nicht über SSH auf die Shell-Sitzung des Remote-Systems zugreifen. Sie können nur über SFTP auf die Remote-Systeme zugreifen und Dateien zu und von den lokalen und Remote-Systemen übertragen.

Schlussfolgerung

Jetzt wissen Sie, wie Sie die Home-Verzeichnisse von Benutzern mit einer Chroot-Umgebung unter Linux einschränken können. Wenn Sie dies nützlich finden, teilen Sie diesen Artikel in Ihren sozialen Netzwerken und teilen Sie uns im Kommentarbereich unten mit, ob es andere Methoden gibt, um die Home-Verzeichnisse der Benutzer einzuschränken.

Verwandte Artikel: