Skie
20.10.2010, 18:06:57
Witam,
mam do was takie pytanie - pewnie banalne, ale nie mogę znaleźć na to odpowiedzi nigdzie.
Skrypty PHP wykonywane na serwerze wykonywane są jako jaki user? Ten od Apache? Czy jak?
Innymi słowy - pliki tworzone na serwerze - cały czas mówię tutaj o linuxie - są własnością, którego usera?
Mam taki problem, że pliki tworzone normalnie przez PHP mogę spokojnie edytować, usuwać - robić co chcę.
Natomiast gdy wykonuję skrypt PHP Cron'em (jako root), pliki przyjmują domyślnie chmod 755 i później normalnie uruchamiany skrypt PHP wywala ERRORy, że nic nie może zrobić z tym plikiem (unlink).
Dodanie w poleceniu CRONa komendy chmod mnie nie przekonuje - tak samo używanie tej funkcji przez PHP.
Jak to ustawić by te pliki tworzone przez PHP i CRON, mogły być normalnie usuwane przez PHP?
tehaha
20.10.2010, 18:10:11
a na pewno ustawiasz dobrą ścieżkę do plików? bo dla skryptu odpalanego z przeglądarki i dla crona ustawia się różne ścieżki do pliku
Skie
20.10.2010, 18:18:09
Ehh... napisałem w poście, że tworzony jest plik z uprawnieniami 755, czyli tylko właściciel może wykonać na nim operację unlink. Właścicielem jest w tym przypadku zakładam root (Cron wykonuje się jako root). I potem sam PHP nie potrafi ruszyć tego pliku. I dlatego pytam - czysty PHP jest uruchamiany jako jaki użytkownik - czy ten od Apache czy jako inny standardowy czy jeszcze inaczej. I gdzie mogę to zmienić - o to mi chodzi.
Ulysess
20.10.2010, 18:33:21
hmm nie znam się za bardzo ale sprawdziłem , na swoim hostingu dziwnym trafem każdy katalog ma atrybut 755 (standardowo , bez mojej ingerencji) i jakoś z poziomu przeglądarki mogę odpalić skrypty w tych katalogach.
Skie
20.10.2010, 18:35:32
Widocznie dobrze tam jest ustawiony user crona i user PHPa - i jak to ustawić właśnie pytam. Gdyby u mnie był ten sam user to tez nie byłoby problemów.
Mówię tutaj o dedykowanym serwerze (tak na wszelki wypadek dodam, żeby nie okazało się, że ktoś znowu zapyta), więc wszystkie rodzaje modyfikacji wchodzą w grę.
EDIT:
Ok, udało mi się to zrobić odpowiednio. Jeżeli ktoś szukałby podobnej odpowiedzi to domyślnie Apache korzysta z konta www-data i group www-date. Katalog domowy tego usera należy ustawić na folder gdzie trzymamy strony WWW, po czym przestawić CRONa by się odpalał jako ten user, a nie jako root.
Temat do zamknięcia.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.