a79rtur
25.04.2005, 15:25:30
witam, dostalem informacje ze na serwerze gdzie stoi serwis ktorym sie zajmuje zostanie wlaczony niebawem safe mode dla wszystkich serverow wirtualnych. czy w zwiazku z tym bede musial dokonywac jakis zmian w kodzie? patrzylem do manuala na funkcje ktore ogranicza safe mode, z tej listy uzywam takich jak copy, delete, unlink ,mkdir, rename, rmdir. kto jest w przypadku skryptow php uruchamianych w wyniku dzialan uzytkownika ich wlascicielem? bo z tego co czytalem o safe mode to o to sie rozchodzą te ograniczenia. jak to sprawdzic ?
Wave
25.04.2005, 16:52:29
Jak skrypt zadziała Ci na Lycosie to wszystko będzie ok. Z tego co wiem tam jest safe mode. A właściciel musi mieć pełny dostęp do serwera, więc zwykły użytkownik nim nie jest.
dr_bonzo
25.04.2005, 17:12:37
Najlepiej wrzuc na serwer z linuxem i safe_modem i sprawdz -- ale widze ze masz windows (chociaz tez na nim powinno dac sie to zrobic)
Skrypt (twojego usera) ma dostep tylko do tych plikow, ktorych tez ty jestes wlascicielem. Czyli nie odczytasz np. /etc/passwd (ownerem jest root). Jak pamietam moga wystapic problemy w takiej sytuacji:
masz katalog z chmodem 0777 i serwer (chodzi pod innym userem) tworzy w nim katalog tez 0777 i zapisuje w nim plik. Nastepnym razem nie bedziesz mogl swoim skryptem otworzyc tego pliku poniewaz nalezy do serwera

Po prostu linuxy nawiazuja do starych unixow gdzie takie proste uprawnienia wystarczaly, nikt nie myslal wtedy o www i hostingu wirtualnych kont, w php dodali safe mode aby zapezpieczyc userow na jednym serwerze przed przegladaniem swoich plikow nawzajem. Windows ma bardziej rozbudowane uprawnienia -- moze dalo by sie to zrobic w jakis normalny sposob bez zadnych safe modow -- nigdy nie probowalem. Czekam na nowoczesny system ktory pozbedzie sie tych starych kompatybilnosci, nie bedzie potrzebowal tylu sztucznych nakladek, ehhh rozpisalem sie
a79rtur
25.04.2005, 19:56:17
sprawdzilem na cuteftp i wlascicielem wszystkich plikow i katalogow ze skryptami jest wlasciciel konta, czyli jak konto sie nazywa powiedzmy firma to ich wlasciciel tak samo, to logiczne bo pod nim jestem zalogowany gdy je wrzucam przez ftp.
gorzej ma sie sprawa z obrazkami wgrywanymi przez uzytkowników ,bo tam w wiekszosci uzytkownik sie nazywa 99 .
zauwazylem ze przy tych najnowszych uploadowanych plikach tak sie nazywa, a przy tych starszych to firma.
czy pomoglo by gdybym zmienial funkcją php chown() wlasciciela na firma po wgraniu pliku na server ? i czy bede miec do tego uprawnienia. a moze na odwrot, wlasciciela skryptow zmienic jakos na tego 99 ?
kolejne pytanie: jak moge sprawdzic spod jakiego uzytkownika dziala uruchomiony w danej chwili skrypt php.
dr_bonzo
25.04.2005, 20:05:02
1. skrypt dziala pod userem "99" -- dlatego wlasnie uploadowane pliki maja takiego wlasciciela; jak sprawdzic? sproboj
<?php
?>
2. chmod() zmienia tylko uprawnienia, zrobisz to (a konkretniej nie zrobisz -- musisz byc rootem) chownem() (chociaz nie wiem czy istnieje w php).
a79rtur
25.04.2005, 20:25:17
0. z tego co udalo mi sie sprawdzic za pomocą funkcji :
$id=fileowner('plik');
$tab=posix_getpwuid($id);
to ten 99 to uzytkownik nobody .zmienia to cos ?
1. jak mam uruchomic to echo 'whoami'; bo normalnie to przeciez wypisze mi poprostu string 'whoami'
2. wlasnie o funkcji chown() pisalem. jest w php, tylko jest takze ograniczana przez safe mode, czyli wlasciciel pliku zmienianego musi byc tez wlascicielem skryptu.
3. ma ma ktos wogole jakis pomysl co najlepiej zrobic w takiej sytuacji jak opisalem wczesniej? o ile wogole bedzie jakis problem, no bo jesli zapisalo mi wlasciciela pliku tego 99 (nobody), to znaczy ze skrypt ktory zapisywal byl uruchomiony pod userem 99, wiec i ten skrypt co ten plik kasuje, kopiuje gdzies albo zmienia nazwe tez powinien byc pod tym userem uruchamiany, wszystkie przeciez sa uruchamiane poprostu jak uzytkownik costam robi na stronie . dobrze rozumuje ?
Konio
3.05.2005, 10:58:06
Tez chciałbym sie dowiedziec, jak poradzic sobie z uploadowanymi przez uzytkownikow plikami, np zdjeciami, przy wlaczonym safe mode. Jak je uploadowac zeby pozniej skrypt mogl je skasowac czy przeniesc.
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.