Page 1 of 1

[SSH] Dateirechte nach Übertragung ändern

Posted: 2006-11-13 15:55
by icy_wiener
Hallo,

gibt es eine Möglichkeit die Rechte einer Datei nach der Übertragung auf meinen Server zu ändern?

Folgender Hintergrund:
Meine Benutzer sind Redakteure eines ContentManagementsystems (Typo3). Jeder Redakteur hat ein Verzeichnis, auf das er einmal aus dem CMS zugreifen kann, sowie per SFTP Dateien ablegen kann.

Nun habe ich das Problem, dass das CMS vom Apache (www-data) ausgeführt wird und deshalb nicht auf die per SFTP hochgeladenen Dateien zugreifen kann (die gehören ja dem entsprechenden User). Bisher habe ich das so gelöst, dass der Apache-Benutzer Mitglied in jeder Systemuser-Benutzergruppe ist. Das ist aber mit steigender Benutzerzahl nicht so schön.

Deshalb wäre es toll, wenn ich die vom User hochgeladenen Dateien nach dem Upload dem User www-data übergeben könnte. Ich dachte schon an einen Cron-Job, der regelmässig alle Upload-Verzeichnisse durchläuft un die Rechte ändert. Besonders schön ist das aber auch nicht.

Vielen Dank im Voraus,
grüße icy_wiener

Re: [SSH] Dateirechte nach Übertragung ändern

Posted: 2006-11-13 16:13
by Roger Wilco
Mach es anders herum: Lass die PHP-Skripte unter der entsprechenden Benutzerkennung ausführen.

Suchbegriffe: SuExec, SuPHP, CGIWrap

Re: [SSH] Dateirechte nach Übertragung ändern

Posted: 2006-11-13 16:16
by Joe User
Und/Oder steige gleich auf PHP-FCGI um...

Re: [SSH] Dateirechte nach Übertragung ändern

Posted: 2006-11-13 16:26
by Roger Wilco
Joe User wrote:Und/Oder steige gleich auf PHP-FCGI um...
Das bringt in diesem Falle ja nur im Zusammenspiel mit SuExec oder einem ähnlichen Wrapper den gewünschten Erfolg. ;)

Re: [SSH] Dateirechte nach Übertragung ändern

Posted: 2006-11-13 19:32
by icy_wiener
Soweit ich das verstanden habe, kann ich mit Hilfe von suPHP ein PHP-Skript mit dem Benutzer des Skripts ausführen.

Ich bin mir nicht sicher, ob mir das wirklich weiterhilft, schließlich habe ich nicht nur einen Benutzer, der Dateien in sein Verzeichnis lädt, sondern an die 100. Und die PHP-Skripte sollen auf alle diese Verzeichnisse inkl. hochgeladenem Inhalt Zugriff erhalten.

Meiner Meinung nach, wäre es am einfachsten, wenn auf eine neu hochgeladene Datei automatisch ein chmod/chown ausgeführt werden würde.
Ist so etwas möglich? Oder existiert ein Skript, mit dessen Hilfe ich Verzeichnisinhalte überwachen und ggf. ändern kann?

Re: [SSH] Dateirechte nach Übertragung ändern

Posted: 2006-11-13 20:30
by juergen
Meine Idee: Mittels einem pam session Modul wie
pam_script:
http://freshmeat.net/projects/pam_script/
den Owner von neuen Dateien nach dem logout ändern.

Re: [SSH] Dateirechte nach Übertragung ändern

Posted: 2006-11-13 20:43
by juergen
Und die elegante Lösung:

Code: Select all

setfacl -m u:wwwrun:rw test.php
wenn dein Dateisystem dies unterstützt...

Re: [SSH] Dateirechte nach Übertragung ändern

Posted: 2006-11-13 20:53
by flo
1.) Auch Typo3 hat einen (IMHO recht komfortablen) Dateimanager dabei

2.) WebDAV wäre auch eine Möglichkeit, hier helfen dann die Apache-Direktiven php_admin_flag, alias weiter. Dazu noch SSL und die Kiste ist nicht weniger dicht.

flo.

Re: [SSH] Dateirechte nach Übertragung ändern

Posted: 2006-11-13 22:25
by Joe User
Eine Alternative wäre die Umstellung auf FTPS mittels pure-ftpd und Nutzung dessen Script-Feature...