Ich bin verwirrt über dieses Setup, das ich bereitstellen möchte. Ich hoffe, jemand von euch kann mir helfen: sehr geschätzt.
Hintergrundinformation
Server ist Debian 6.0, ext3, mit Apache2 / SSL und Nginx an der Vorderseite als Reverse-Proxy. Ich muss SFTP-Zugriff auf das Apache-Stammverzeichnis (/ var / www) gewähren und sicherstellen, dass der SFTP-Benutzer mit RWX-Berechtigungen auf diesen Pfad verwurzelt ist.
All dies, ohne die Standardberechtigung in / var / www zu ändern.
drwxr-xr-x 9 root root 4096 Nov 4 22:46 www
Innen / var / www
-rw-r----- 1 www-data www-data 177 Mar 11 2012 file1
drwxr-x--- 6 www-data www-data 4096 Sep 10 2012 dir1
drwxr-xr-x 7 www-data www-data 4096 Sep 28 2012 dir2
-rw------- 1 root root 19 Apr 6 2012 file2
-rw------- 1 root root 3548528 Sep 28 2012 file3
drwxr-x--- 6 www-data www-data 4096 Aug 22 00:11 dir3
drwxr-x--- 5 www-data www-data 4096 Jul 15 2012 dir4
drwxr-x--- 2 www-data www-data 536576 Nov 24 2012 dir5
drwxr-x--- 2 www-data www-data 4096 Nov 5 00:00 dir6
drwxr-x--- 2 www-data www-data 4096 Nov 4 13:24 dir7
Was ich versucht habe
- hat eine neue Gruppe Secureftp erstellt
- hat einen neuen SFTP-Benutzer erstellt, der auch mit der Nologin- Shell zu SecureFTP- und WWW -Datengruppen verbunden ist . Homedir ist /
- bearbeitet sshd_config mit
Subsystem sftp internal-sftp AllowTcpForwarding no Match Group <secureftp> ChrootDirectory /var/www ForceCommand internal-sftp
Ich kann mich mit dem SFTP-Benutzer anmelden, Dateien auflisten, aber keine Schreibaktion ist zulässig. Sftp-Benutzer ist in der www-Datengruppe, aber die Berechtigungen in / var / www sind read / read + x für das Gruppenbit, also ... Es funktioniert nicht.
Ich habe es auch mit ACL versucht, aber da ich ACL-RWX-Berechtigungen für den SFTP-Benutzer auf / var / www (Verzeichnisse und Dateien rekursiv) anwende, werden auch die Unix-Berechtigungen geändert, was ich nicht möchte.
Was kann ich hier machen?
Ich dachte, ich könnte dem Benutzer www-data ermöglichen, sich als sftp anzumelden, damit er Dateien / Verzeichnisse ändern kann, die www-data in / var / www besitzt. Aber aus irgendeinem Grund denke ich, dass dies sicherheitshalber ein dummer Schritt wäre.
quelle
Antworten:
Was ich getan habe, ist, meine Benutzer in ihre Home-Verzeichnisse zu chrooten und dann
mount --bind
einen Link dazu in ihren Home-Verzeichnissen zu erstellen.Ich habe dann
setfacl
sichergestellt, dasswww-data
Maintans Schreibberechtigungen für neue Dateien im Verzeichnis haben. Dieser Effekt wird wieder auftreten/var/www
, was Sie tun möchten.Durch Festlegen
g+s
des Verzeichnisses erben alle neuen darin erstellten Dateien und Verzeichnisse den Gruppenbesitz von seinem übergeordneten Verzeichnis.Das sollte den Trick machen.
Machen Sie Ihre Reittiere dauerhaft
Natürlich möchten Sie, dass Ihre Mounts beim Neustart des Servers noch vorhanden sind. Es ist so einfach wie das Hinzufügen der Reittiere zu Ihrem
/etc/fstab
. Nicht bei allen Anbietern können Sie diese Datei berühren, bei den meisten jedoch.Fügen Sie einfach folgende Zeilen hinzu:
Möglicherweise möchten Sie neu starten, um sicherzustellen, dass es funktioniert.
quelle