Verwenden von SFTP und gleichzeitiger Zugriff auf WWW-Dateien

899
Ke.

Ich bin verwirrt über Berechtigungen und SFTP-Zugriff in Ubuntu.

Ich habe einen Benutzer, der Zugriff auf den Ordner www hat:

<username>:www-data 

Ich habe Folgendes in sshd_config eingestellt:

Subsystem sftp internal-sftp Match group www-data X11Forwarding no ChrootDirectory /var/www AllowTcpForwarding no ForceCommand internal-sftp Match Match user <username> X11Forwarding no ChrootDirectory /var/www/<theirwebsite> AllowTcpForwarding no ForceCommand internal-sftp Match 

Ich habe in sshd_config den Speicherort von Authorized_keys geändert (aufgrund der Ubuntu-Verschlüsselung des Home-Ordners)

AuthorizedKeysFile /etc/ssh/%u/authorized_keys 

ich habe chown -R username:www-data to all the www directories

Und chmod sie auch auf 755

Manchmal kann ich über SFTP zugreifen, aber dann kann ich keine Dateien bearbeiten. Zu anderen Zeiten kann ich überhaupt nicht zugreifen.

Ich wäre wirklich dankbar für jede Erklärung oder vielleicht irgendwo auf eine Hilfedatei zu verweisen.

Prost

1

1 Antwort auf die Frage

0
davidgo

Es gibt zwei verschiedene Elemente zum Spielen:

  1. Die Möglichkeit, sich über ssh am Server anzumelden
  2. Die Berechtigungen für die Dateien.

Die Änderungen, die Sie an den SSH-Dateien vorgenommen haben, betreffen alle den Zugriff auf das System. Die Dateien gehören jedoch dem Benutzer, der SSH verwendet hat.

Sie können die Dateien lesen, da die 755Berechtigungen besagen, dass der Eigentümer lesen, schreiben und ausführen kann. Jeder andere Benutzer kann lesen und ausführen.

Der hackte (und weniger sichere) Weg zur Lösung des Problems besteht darin, sicherzustellen, dass die Dateien chmod sind 777(dh jeder kann sie lesen, löschen und bearbeiten).

Ein besserer Weg wäre, den Benutzernamen in die www-dataGruppe (in /etc/groups) einzufügen und den Dateien 775Berechtigungen zu geben (dh Eigentümer und Gruppe können lesen, schreiben und ausführen, alle anderen können nur lesen und ausführen).

Ich habe es vorher nicht gesehen, aber die sshd_configBefehle, vorausgesetzt, sie funktionieren - und ich habe keinen Grund zu glauben, dass sie es nicht tun werden - beschränken den Benutzer auf sein eigenes Verzeichnis und nur auf die Ausführung sftp. Es kann nichts dazu beitragen, den Besitz der Dateien zu ändern.