Script kann nicht ausgeführt werden - Rechteproblem?
Hallo zusammen Neben dem Problem, dass mein Script per PHP nicht aufgerufen werden kann, wollte ich nun direkt an meinem Webserver testen, ob es direkt klappt. Bild 341.jpg wird per PHP nach temp geladen. Danach versuche ich fotoresize als eingeloggter User web2 zu starten vpsxxxxxx:~/httpdocs/temp> less fotoresize #!/bin/bash cd /srv/www/vhosts/xxxxxxx/httpdocs/temp/ || exit $? for bild in *.jpg; do ziel="$bild" convert -geometry 600x600 -resize 600x600 "$bild" "$ziel" convert -font /usr/local/psa/share/modules/watchdog/font/LucidaSansRegular.ttf -pointsize 12 -fill black -draw "text 20,20 'www.text.de'" "$bild" "$ziel" done cp *.jpg /srv/www/vhosts/xxxxxxx/httpdocs/galerie/ cd /srv/www/vhosts/xxxxxxx/httpdocs/galerie/ || exit $? chmod 644 *.jpg cd /srv/www/vhosts/xxxxxxx/httpdocs/temp/ || exit $? for bild in *.jpg; do ziel="$bild" convert -geometry 150x150 -resize 150x150 "$bild" "$ziel" done mv *.jpg /srv/www/vhosts/xxxxxxx/httpdocs/galerie/thumbs/ cd /srv/www/vhosts/xxxxxxx/httpdocs/galerie/thumbs/ || exit $? chmod 644 *.jpg vpsxxxxxx:/srv/www/vhosts/xxxxxxx/httpdocs/temp # ls -l insgesamt 94 drwxrwxrwx 2 web2 psacln 1024 2007-08-15 14:00 . drwxr-x--- 9 web2 psaserv 2048 2007-08-15 13:14 .. -rw-r--r-- 1 wwwrun www 90886 2007-08-15 14:00 341.jpg -rwxrwxrwx 1 web2 psacln 885 2007-08-15 12:18 fotoresize web2@vpsxxxxxx:~/httpdocs/temp> ./fotoresize convert: unable to open image `*.jpg': Datei oder Verzeichnis nicht gefunden. convert: unable to open image `*.jpg': Datei oder Verzeichnis nicht gefunden. cp: Aufruf von stat für ,,*.jpg" nicht möglich: Datei oder Verzeichnis nicht gefunden convert: unable to open image `*.jpg': Datei oder Verzeichnis nicht gefunden. mv: Aufruf von stat für ,,*.jpg" nicht möglich: Datei oder Verzeichnis nicht gefunden chmod: Beim Setzen der Zugriffsrechte für ,,341.jpg": Die Operation ist nicht erlaubt Dann dachte ich dass ich nur als Benutzer wwwrun der Gruppe www die Datei 341.jpg schreiben darf und hab die Benutzerzugehörigkeit für fotoresize geändert: vpsxxxxxx:/srv/www/vhosts/xxxxxxx/httpdocs/temp # ls -l insgesamt 94 drwxrwxrwx 2 web2 psacln 1024 2007-08-15 14:00 . drwxr-x--- 9 web2 psaserv 2048 2007-08-15 13:14 .. -rw-r--r-- 1 wwwrun www 90886 2007-08-15 14:00 341.jpg -rwxrwxrwx 1 wwwrun www 885 2007-08-15 12:18 fotoresize Das Ergebnis ist aber das gleiche. Erstaunlicherweise wird die Datei 341.jpg aber nach galerie kopiert und galerie/thumbs verschoben. wwwrun scheint convert nicht aufrufen zu dürfen. Kann ich das umgehen? Ändere ich nun die Zugehörigkeiten so: vpsxxxxxx:/srv/www/vhosts/xxxxxxx/httpdocs/temp # ls -l insgesamt 94 drwxrwxrwx 2 web2 psacln 1024 2007-08-15 14:00 . drwxr-x--- 9 web2 psaserv 2048 2007-08-15 13:14 .. -rw-r--r-- 1 web2 psacln 90886 2007-08-15 14:00 341.jpg -rwxrwxrwx 1 web2 psacln 885 2007-08-15 12:18 fotoresize Dann läuft mein Script durch. Aber die hochgeladene Datei gehört ja wwwrun www. Kann ich das per PHP ändern? Lasse ich fotoresize als root laufen, klappt es. Nun könnte ich fotoresize ja per cron einmal nachts aufrufen, was einer Notlösung entspräche, denn dann würden die hochgeladenen Bilder nicht sofort angezeigt werden. Zusammengefasst: wwwrun darf convert nicht aufrufen und die hochgeladene Datei gehört nicht web2. Hat jemand einen Tipp? Danke Andy -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo zusammen Am Mittwoch, 15. August 2007 14:30 schrieb Andreas Schott:
Hallo zusammen
[Problembeschreibung]
Zusammengefasst: wwwrun darf convert nicht aufrufen und die hochgeladene Datei gehört nicht web2.
Der SafeMode verhindert, dass Scripte ausgeführt werden, die unterschiedlichen Eigentümern gehören. Ich hab nun in der php.ini ein safe_mode_exec_dir gesetzt, mein Script mit meinen Benutzerrechten dorthin kopiert und rufe es als User wwwrun mit exec() per PHP auf. Klappt alles wieder bestens Andy -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (1)
-
Andreas Schott