Ich möchte einen speziellen SFTP-Benutzer erstellen, der nur die Berechtigung hat, alle Ordner und Unterordner in zu lesen /var/www/vhosts
. Kann mir jemand dabei helfen?
Antwort1
Unix-Systeme bieten den chroot
Befehl, mit dem Sie den Zugriff des Benutzers auf ein Verzeichnis in der Dateisystemhierarchie zurücksetzen können /
, in dem er nicht auf „höherrangige“ Dateien und Verzeichnisse zugreifen kann.
In Ihrem Fall wäre es jedoch angebracht, ein virtuelles Chroot bereitzustellen, das vom Remote-Shell-Dienst implementiert wird. SFTP kann einfach so konfiguriert werden, dass ein lokaler Benutzer auf eine bestimmte Teilmenge des Dateisystems beschränkt wird.
in Ihrem Fall möchten Sie also chroot
beispielsweise den Benutzer foo
user in das /var/www/vhosts/
Verzeichnis eintragen.
Sie können für Ihre Benutzer ein Chroot-Verzeichnis einrichten, um sie auf das Unterverzeichnis zu beschränken, /var/www/vhosts/
wie in /etc/ssh/sshd_config
;
Benutzer foo
mit Passwort anlegen
sudo useradd foo
sudo passwd foo
Nur für SFTP-Gruppe erstellen
$ sudo groupadd sftp_users
foo
Zu einem Benutzer für Nur-SFTP-Gruppe hinzufügen
$ sudo usermod -G sftp_users foo
Besitzer ändern, da Lese-/Schreibberechtigung
sudo chown root.root /var/www/vhosts/
Berechtigung hinzufügen
sudo chmod 755 /var/www/vhosts/
Bearbeiten/etc/ssh/sshd_config
sudo vi /etc/ssh/sshd_config
Kommentieren Sie es aus und fügen Sie eine Zeile wie unten hinzu
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
Zuletzt hinzufügen
Match Group sftp_users
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory /var/www/vhosts/
ForceCommand internal-sftp
(HINWEIS: Match
Blöcke müssen amENDEder sshd_config
Datei.)
ssh
Dienst neu starten
sudo service ssh restart
Mit dieser Konfiguration können Sie per SSH in den Ordner gelangen ubuntu
und Dateien abrufen. Kann nicht put
oderdelete
Um per SFTP in den richtigen Ordner zu gelangen /etc/passwd
, bearbeiten Sie die Zeile für den Benutzer foo
so:
$ sudo vi /etc/passwd
..
foo:x:1001:1001::/var/www/vhosts/:
..
foo
Dadurch wird der Benutzerstammordner in Ihren SFTP-Serverordner geändert .