ich habe vor ner Weile, als Windows 10 rauskam, meinen Hauptcomputer auf Ubuntu umgestellt. Ich habe seitdem viel gelernt, aber das nur am Rande. Meine Frage bezieht sich auf meinen virtuellen Server, den ich per SSH im Terminal und mit FileZilla über SFTP erreiche.
Das System ist Ubuntu 14.04.2 LTS und das Dateisystem wird so gemounted:
/ ext3 defaults,errors=remount-ro,barrier=0 1 1
Der Ordner /var/www/ sieht bei mir so aus:
drwxrwxr-x 10 www-data www-data 4.0K Oct 27 08:00 www/
Ich logge mich mit also mit FileZilla als User felix mit meinem privaten Schlüssel ein und lade Dateien und Ordner in /var/www hoch. Wenn ich im SSH-Terminal
groups
eingebe, erscheint felix sudo www-data
. Anscheinend habe ich mich irgendwann der Gruppe www-data hinzugefügt, kann mich gar nicht daran erinnern. Nun gut, sonst hätte ich ja auch gar nicht die Dateien per SFTP hochladen können.Das Problem ist jetzt, dass hochgeladene Ordner/Dateien so aussehen:
drwxr-xr-x 2 felix felix 4.0K Oct 27 08:00 neuerordner/
-rw-r--r-- 1 felix felix 5.2K Oct 27 08:00 neuedatei.txt
Zum einen entsprechen Benutzer und Gruppe dem per SSH authentifizieren Benutzer, zum anderen ist das w-Bit für die Gruppe nicht gesetzt. Also muss ich jedesmal, wenn ich mit den Dateioperationen fertig bin, im SSH-Terminal
sudo chown -R www-data: /var/www && sudo chmod -R g+w /var/www
eingeben. Und das nervt!Ich habe immer mal wieder an einigen Tagen für viele Stunden nach einer Lösung gesucht. Habe viel von der umask und ACLs gelesen, aber einer passenden Lösung bin ich nicht wirklich näher gekommen.
Ich könnte vielleicht für den Benutzer www-data auch ein Schlüsselpaar für SSH erstellen und damit meine SFTP-Dateioperationen durchführen. Dann bliebe noch das Problem mit dem g+w.
Kann ich nicht wie bei Windows irgendwie einstellen, dass die Berechtigungen vererbt werden? Diese Lösung wäre mir am Liebsten. Da muss doch was mit umask gehen?
Kann mir jemand dabei helfen?
Gruß
FeliX_22
EDIT:
Ich habe jetzt in der Datei /etc/ssh/sshd_config diese Zeile geändert:
Subsystem sftp /usr/lib/openssh/sftp-server -u 0002
und mit sudo service ssh restart
den SSH-Server neu gestartet. Damit habe ich das Problem mit dem w-Bit für Ordner und Dateien behoben. Dann habe ich mit sudo chmod g+s www
, also setgid, tatsächlich eine Vererbung der Gruppe für neue Dateien und Ordner eingestellt. Bleibt nur noch das Problem mit dem falschen Benutzer. Habe gelesen, dass setuid in UNIX ignoriert wird. Was kann man da machen? Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von FeliX_22 ()