Wie erstelle ich einen SFTP-Benutzer, um nur auf ein bestimmtes Verzeichnis zuzugreifen?

Wie erstelle ich einen SFTP-Benutzer, um nur auf ein bestimmtes Verzeichnis zuzugreifen?

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:

  1. Hängen Sie jedes der 3 Verzeichnisse in /homeVerzeichnisse 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
    
  2. Verwenden Sie es mount -a, um die Halterungen sofort zu starten.

  3. 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
    
  4. 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
    
  5. Fügen Sie Folgendes hinzu /etc/ssh/sshd_config:

    Match group sftponly
          ChrootDirectory %h
          X11Forwarding no
          AllowTcpForwarding no
    
  6. 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

verwandte Informationen