• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

shell script via php

wos-chris

Newbie
Hy Leute,

hab mir ein kleines Shellscript gebaut das mir die datei /var/mail/web0px ins verzeichniss /home/htdocs/web0/html/usw kopiert und die rechte ändert so das ich in php alles auslesen kann.

ich krieg diese script aber in php nicht zum laufen. Hab schon sämtliche owners und groups ausprobiert, natürlich auch 777 und sonstiges. Sprech ich das script über die shell an läuft alles super, sprech ichs in php an (system() exec() shell_exec()) passiert gar nichts. Ich dreh hier echt bald durch.

Woran liegt das ?
 

nbkr

Guru
Mit welchem User probierst Du das in der Shell? Ich vermute mal als root oder als Besitzer der Mailbox.

PHP läuft wahrscheinlich als www-run oder ähnliches, der darf aber nicht auf die Mailboxen von anderen Usern zugreifen.

Dann könnte es natürlich noch an einem aktivierten Safemode liegen.
 
OP
W

wos-chris

Newbie
wie kann ich das problem umgehen. wie kann ich den Safemode umstellen bzw. kann ich irgendwie einen link mit den rechten auf die mailboxdatei legen ?
 

nbkr

Guru
wos-chris schrieb:
wie kann ich das problem umgehen.

Gibt viele Möglichkeiten. Eine Idee wäre es PHP als CGI Version zu nutzen und via user und group Anweisung PHP unter dem Mailboxbenutzer laufen zu lassen. Ist aber unschön.

Besser wäre es mittels "sudo" dem PHP User die Möglichkeit zu geben auf die Datei zuzugreifen.

Ein dritte Möglichkeit wäre es mittels PHP über den Mailserver auf die Mails zuzugreifen.

wie kann ich den Safemode umstellen

Geht in der httpd.conf bzw. in der php.ini

bzw. kann ich irgendwie einen link mit den rechten auf die mailboxdatei legen ?

Du könntest mittels "ln" einen Hardlink auf die Datei setzen und die Rechte anpassen, dann könnte es gehen.
 
OP
W

wos-chris

Newbie
was mach ich Falsch ?

/home/htdocs/web0/html/die-patrone/test # ln /var/mail/web0p8 ./test.txt

ln: creating hard link `./test.txt' to `/var/mail/web0p8': Invalid cross-device link
 

nbkr

Guru
/home und /var sind wohl auf unterschiedlichen Partionen. Hardlinks gehen aber nur innerhalb der gleichen Partition.
 
Oben