Zibi0802
21.07.2009, 13:17:19
Usiłuję wykonać kopiowanie pliku za pomocą PHP.
Czyli shell_exec(" ....") ... i to działa.
Niestety działa tylko tam gdzie user apache ma uprawnienia ( czyli w moim przypadku katalog tmp ).
Skrypt wytwarza mi tam plik.
Muszę wytworzony plik textowy wrzucać do różnych katalogów userów ( /home/user )
Chmod by nadać uprawnienia nie działa ( bo działa tylko z poziomu osoby wykonującej skrypt czyli apache ), a ten z kolei nie ma do tego uprawnień. ( chmod($plik,0777); )
Cel:
Skopiowanie pliku XXX z /tmp/ do /home/user1/
( user1 jest przykładowym katalogiem i w warunkach roboczych będzie zmienną ... )
Pytania:
1. Jak nadać uprawnienia "na chwilę" na skopiowanie tego pliku ( oczywiście chodzi mi o zmianę uprawnień z poziomu skryptu NIE z poziomu wysyłki na FTP czy też serwera ) ?
2. Może jest jakiś inny sposób niż nadanie uprawnień na chwilę ?
blooregard
21.07.2009, 13:37:29
Na 1 i 2 sam sobie odpowiedziałeś wcześniej:
Cytat
Chmod by nadać uprawnienia nie działa ( bo działa tylko z poziomu osoby wykonującej skrypt czyli apache ), a ten z kolei nie ma do tego uprawnień. ( chmod($plik,0777); )
Gdyby takie szopki były możliwe, mógłbyś dowolnie modyfikować zawartości katalogów innych userów, a na to pozwalają jedynie kijowo skonfigurowane serwery www.
Zibi0802
21.07.2009, 14:21:27
Ale ja chcę tylko zeby user logował się loginem/hasłem i żeby plik wytworzony przez skrypt lądował w jego katalogu domowym...
Jest jakaś możliwość ?
erix
21.07.2009, 14:26:27
Ok, pokaż sytuację praktyczna.
Bo jeśli chodzi o świeże profile, to się robi inaczej. Z mojej wiedzy nt. unixów wynika, że aby osiągnąć to, co chcesz, to jakiś proces musiałby działać na prawach roota i je kopiować.
W praktyce, niebezpieczne...
Ale jest rozwiązanie pośrednie - zadania crona zwykle są startowane przez roota, więc tam mógłbyś dać skrypt, który to wszystko przenosi.
Zibi0802
21.07.2009, 14:39:35
Praktycznie:
1. Uzytkownik idzie na urlop.
2. Ustawia sobie autoodpowiedź i ... przychodzi do mnie żeby mu poczte na osobę zastępującą przekierować.
3. Chciałbym z poziomu skryptu dać mu możliwość po zalogowaniu wskazania osoby do której mają również iść emaile.
4. W związku z tym wytwarzam skryptem plik .forward w katalogu /tmp na chwilę ( w środku odpowiednie nazwy kont pocztowych - podane przez usera )
5. Chcę ten plik skopiować do katalogu usera żeby przesył poczty zadziałał.
webdice
21.07.2009, 14:58:11
Nie wiem czy Cię dobrze zrozumiałem. Zainteresuj się suPHP.
Zibi0802
21.07.2009, 15:18:22
Szukam raczej jakiegoś prostego rozwiązania, bądź skryptu ...
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.