So beschränken Sie SFTP -Benutzer mithilfe von Chroot -Gefängnis auf Home -Verzeichnisse

So beschränken Sie SFTP -Benutzer mithilfe von Chroot -Gefängnis auf Home -Verzeichnisse

In diesem Tutorial werden wir diskutieren, wie wir einschränken können Sftp Benutzer in ihren Heimverzeichnissen oder spezifischen Verzeichnissen. Dies bedeutet, dass der Benutzer nur auf sein jeweiles Heimverzeichnis zugreifen kann, nicht auf das gesamte Dateisystem.

Die Einschränkung von Benutzern Home -Verzeichnissen ist insbesondere in einer gemeinsamen Serverumgebung von entscheidender.

Wichtig: Bitte beachten Sie auch, dass der Zweck dieses Artikels darin besteht, nur SFTP -Zugriff und nicht die SSH -Anmeldungen zu gewähren, indem Sie diesen Artikel befolgen.

Vorgeschlagene Lesen: Beschränken Sie den Zugriff auf den SSH -Benutzer auf ein bestimmt

Der einfachste Weg, dies zu tun. Diese Methode ist für alle UNIX/Linux -Betriebssysteme gleich. Mithilfe von Choted -Umgebung können wir Benutzer entweder auf ihr Heimverzeichnis oder auf ein bestimmtes Verzeichnis beschränken.

Beschränken Sie Benutzer auf Home -Verzeichnisse

In diesem Abschnitt werden wir eine neue Gruppe namens erstellen sftpGroup und ordnen Sie den Benutzerkonten den richtigen Eigentum und Berechtigungen zu. Es gibt zwei Möglichkeiten, die Benutzer auf heimische oder bestimmte Verzeichnisse einzuschränken. In diesem Artikel werden wir in beide Richtungen sehen.

Benutzer und Gruppen erstellen oder ändern

Lassen Sie uns beispielsweise den vorhandenen Benutzer einschränken Tecmint, zu seinem/ihr Heimverzeichnis benannt /home/tecmint. Dafür müssen Sie eine neue erstellen sftpGroup Gruppe verwendet GroupAdd Befehl wie gezeigt:

# GroupAdd SftpGroup 

Als nächstes zuweisen Sie dem Benutzer "Tecmint" Zu sftpGroup Gruppe.

# Usermod -g SftpGroup Tecmint 

Sie können beispielsweise einen neuen Benutzer mit dem Befehl UserAdd erstellen Senthil und zuweisen dem Benutzer zu sftpusers Gruppe.

# Adduser Senthil -g SftpGroup -s /sbin /nologin # Passwd Tecmint 

Ändern Sie die SSH -Konfigurationsdatei

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

Subsystem SFTP Internal-SFTP-Spielgruppe SFTPGroup ChrootDirectory /Home ForceCommand Internal-SFTP X11foring NO ADGETCPFORDARDING NO 

Speichern und beenden Sie die Datei, starten Sie den SSHD -Dienst neu, um neue Änderungen in Kraft zu setzen.

# SystemCTL Neustart SSHD oder # Service SSHD Neustart 

Wenn Sie mehrere Benutzer in das gleiche Verzeichnis chrootieren, sollten Sie die Berechtigungen des Heimverzeichnisses jedes Benutzers ändern, um zu verhindern, dass alle Benutzer die Heimverzeichnisse der gegenseitigen Benutzer durchsuchen.

# Chmod 700 /Home /Tecmint 

Überprüfen Sie, ob sich die SSH- und SFTP -Benutzer anmelden

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

# SSH [E -Mail geschützt] 

Hier,

  1. Tecmint - Benutzername des Remote -Systems.
  2. 192.168.1.150 - IP -Adresse des Remote -Systems.
Beispielausgabe:
[E -Mail -Protected] -Kennwort: Es konnte nicht zu Home Directory /Home /Tecmint Chdir führen: Keine solche Datei oder Verzeichnis Dieser Dienst erlaubt nur SFTP -Verbindungen. Verbindung zu 192.168.1.150 geschlossen. 

Greifen Sie dann mit SFTP ein Remote -System zu.

# SFTP [E -Mail geschützt] 
Beispielausgabe:
[E -Mail geschützt] Passwort: Angeschlossen mit 192.168.1.150. sftp> 

Lassen Sie uns das aktuelle Arbeitsverzeichnis überprüfen:

SFTP & GT PWD Fernarbeitsverzeichnis: / sftp & gt ls Tecmint 

Hier, Tecmint ist das Heimverzeichnis. CD zum Tecmint Verzeichnis und erstellen Sie die Dateien oder Ordner Ihrer Wahl.

SFTP & GT CD Tecmint Fernarbeitsverzeichnis: / 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 Heimverzeichnis. Jetzt werden wir sehen, wie Sie einen neuen Benutzer auf ein benutzerdefiniertes Verzeichnis beschränken können.

Erstellen Sie Gruppen- und neue Benutzer

Erstellen Sie eine neue Gruppe sftpGroup.

# GroupAdd SftpGroup 

Erstellen Sie als Nächst.

# MKDIR -P/SFTPUSERS/CHROOT # CHOWN Wurzel: root/sftpusers/chroot/ 

Erstellen Sie als nächstes neue Verzeichnisse für jeden Benutzer, auf den er vollen Zugriff hat. Zum Beispiel werden wir erstellen Tecmint Benutzer und es ist ein neues Heimverzeichnis mit der korrekten Gruppenberechtigung mit den folgenden Befehlserien.

# 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 SFTP -Zugriff

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

#Subsystem SFTP/usr/libexec/openSSH/SFTP-SERVERVERVERSUBSYSTEM SFTP INTERSFAHRE STATPGSGRUPPE 

Speichern und beenden Sie die Datei. Starten Sie den SSHD -Service neu, um die gespeicherten Änderungen in Kraft zu setzen.

# SystemCTL Neustart SSHD oder # Service SSHD Neustart 

Das war es, indem Sie sich anmelden, indem Sie sich auf dem Remote SSH- und SFTP -Server anmelden.

Achten Sie darauf, dass diese Methode den Shell -Zugriff deaktiviert, ich.E Sie können mit SSH nicht auf die Shell -Sitzung des Remote -Systems zugreifen. Sie können nur über SFTP auf die Remote -Systeme zugreifen und die Dateiübertragung von und von den lokalen und entfernten Systemen durchführen.

Abschluss

Jetzt wissen Sie, wie Sie Benutzer mithilfe einer Chroot -Umgebung unter Linux die Home -Verzeichnisse einschränken können. Wenn Sie dies nützlich finden, teilen Sie diesen Artikel in Ihren sozialen Netzwerken und informieren Sie uns im Kommentarbereich unten, ob andere Methoden zur Einschränkung der Benutzer Home -Verzeichnisse vorhanden sind.