Website-Suche

So beschränken Sie SFTP-Benutzer mithilfe des Chroot-Gefängnisses auf Home-Verzeichnisse


In diesem Tutorial besprechen wir, wie man SFTP-Benutzer auf ihre Home-Verzeichnisse oder bestimmte Verzeichnisse beschränkt. Dies bedeutet, dass der Benutzer nur auf sein jeweiliges Home-Verzeichnis zugreifen kann, nicht auf das gesamte Dateisystem.

Die Beschränkung der Home-Verzeichnisse der Benutzer ist besonders in einer Umgebung mit gemeinsam genutzten Servern von entscheidender Bedeutung, damit ein unbefugter Benutzer keinen heimlichen Einblick in die Dateien und Ordner des anderen Benutzers erhält.

Wichtig: Bitte beachten Sie auch, dass der Zweck dieses Artikels nur darin besteht, SFTP-Zugriff und nicht SSH-Anmeldungen bereitzustellen. Wenn Sie diesem Artikel folgen, erhalten Sie die Berechtigungen zur Dateiübertragung. Es ist jedoch nicht gestattet, eine Remote-SSH-Sitzung durchzuführen.

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

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

Beschränken Sie Benutzer auf Home-Verzeichnisse

In diesem Abschnitt erstellen wir eine neue Gruppe mit dem Namen sftpgroup und weisen den Benutzerkonten die richtigen Eigentümer und Berechtigungen zu. Es gibt zwei Möglichkeiten, Benutzer auf Privatverzeichnisse oder bestimmte Verzeichnisse zu beschränken. In diesem Artikel werden wir uns mit beiden Möglichkeiten befassen.

Erstellen oder ändern Sie Benutzer und Gruppen

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

groupadd sftpgroup

Als nächstes weisen Sie den Benutzer ‘tecmint’ der Gruppe sftpgroup zu.

usermod -G sftpgroup tecmint

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

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

Ändern Sie die SSH-Konfigurationsdatei

Öffnen Sie die Konfigurationsdatei /etc/ssh/sshd_config und fügen Sie die folgenden Zeilen 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, damit die neuen Änderungen wirksam werden.

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.

chmod 700 /home/tecmint

Überprüfen Sie die 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 per SSH zu übertragen.

ssh [email 

Hier,

  1. tecmint – Benutzername des Remote-Systems.
  2. 192.168.1.150 – IP-Adresse des Remote-Systems.
Beispielausgabe:
[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 
Beispielausgabe:
[email 's password: 
Connected to 192.168.1.150.
sftp>

Lassen Sie uns das aktuelle Arbeitsverzeichnis überprüfen:

sftp&gt pwd
Remote working directory: /

sftp&gt ls
tecmint  

Hier ist tecmint das Home-Verzeichnis. Wechseln Sie mit der CD in das Verzeichnis tecmint 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 man einen neuen Benutzer auf ein benutzerdefiniertes Verzeichnis beschränkt.

Erstellen Sie eine Gruppe und neue 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/

Als nächstes erstellen Sie für jeden Benutzer neue Verzeichnisse, auf die er vollen Zugriff hat. Beispielsweise erstellen wir mit der folgenden Befehlsreihe den Benutzer tecmint und sein neues Home-Verzeichnis mit der richtigen Gruppenberechtigung.

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 Sie 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, damit die gespeicherten Änderungen wirksam werden.

systemctl restart sshd
OR
service sshd restart

Das können Sie überprüfen, indem Sie sich bei Ihrem Remote-SSH- und SFTP-Server anmelden, indem Sie den Schritt oben unter „SSH- und SFTP-Anmeldung überprüfen“ 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 Dateiübertragungen von und zu den lokalen und Remote-Systemen durchführen.

Abschluss

Jetzt wissen Sie, wie Sie die Home-Verzeichnisse von Benutzern mithilfe einer Chroot-Umgebung unter Linux einschränken. 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 von Benutzern einzuschränken.