Ich möchte Benutzer für SFTP mit eingeschränktem Zugriff auf bestimmte Ordner erstellen
Meine Ordnerstruktur sieht folgendermaßen aus:
/var/www/site1/files/
/var/www/site2/files/
/var/www/site3/files/
Ich möchte einen SFTP-Benutzer1 erstellen, der /var/www/site1/files/
nur auf das Hochladen von Website-Dateien mit Filezila zugreifen kann und keine anderen Ordner anzeigen kann
und ebenso für Benutzer2 mit eingeschränktem Zugriff auf/var/www/site2/files/
und für Benutzer3 mit eingeschränktem Zugriff auf/var/www/site3/files/
Antwort1
Du hast den Ablauf im Großen und Ganzen verstanden.
Am besten gehst du folgendermaßen vor:
Hängen Sie jedes der 3 Verzeichnisse in
/home
Verzeichnisse ein, indem Sie die folgenden Zeilen anhängen/etc/fstab
:/var/www/site1/files/ /home/site1/htdocs/ bind 0 0 /var/www/site2/files/ /home/site2/htdocs/ bind 0 0 /var/www/site3/files/ /home/site3/htdocs/ bind 0 0
Verwenden Sie es
mount -a
, um die Halterungen sofort zu starten.Stellen Sie sicher, dass Sie die Benutzer site1, site2 und site3 derselben Gruppe hinzugefügt haben (z. B. sftpusers oder sftponly). Sie können diese Befehle verwenden, um die Benutzer zu Gruppen hinzuzufügen:
usermod -aG sftponly site1 usermod -aG sftponly site2 usermod -aG sftponly site3
Erstellen Sie die
/home/{site1,site2,site3}
Home-Verzeichnisse für die entsprechenden Benutzer mit:usermod -d /home/site1 site1 usermod -d /home/site2 site2 usermod -d /home/site3 site3
Fügen Sie Folgendes hinzu
/etc/ssh/sshd_config
:Match group sftponly ChrootDirectory %h X11Forwarding no AllowTcpForwarding no
Starten Sie abschließend den SSH-Dienst neu mit:
service ssh restart
Sehendieser Beitrag auf Digital Oceanfür Details.
Antwort2
Nach dem BefolgenKrishna Chalises AntwortMöglicherweise müssen Sie Eigentumsrechte und Berechtigungen anpassen.
Beispielsweise für den Benutzer site1:
chown root:root /home/site1
chmod 755 /home/site1
cd /home/site1
chown site1:sftponly