Freesco, NND, CDN, EOS http://forum.freesco.pl/ |
|
chmod http://forum.freesco.pl/viewtopic.php?f=22&t=17379 |
Strona 1 z 1 |
Autor: | CyberDuck [ środa, 17 grudnia 2008, 21:40 ] |
Tytuł: | chmod |
Mam takie pytanko tyczace sie trywialnego chmod. Chodzi mi o to, ze chce sobie napisac programik w php dzieki, ktoremu bede mogl dodawac pliki do udostepniania poprzez www na NND. I teraz zamiast podania linka bezwzglednego do pliku podaje adres do skryptu wraz z id pliku zapisanego w bazie. Ten skrypt bedzie odczytywac w bazie danych nazwe pliku i przekieruje uzytkownika na te nazwe rozpoczynajac transmisje do niego zadanego pliku. Poczatkowo chmod wszystkich plikow umieszczonych do sciagniecia bedzie ustawiona na wartosc niezezwalajaca do pobrania pliku. Ten skrypt jesli rozpozna id zmienia chmod i pozwala na sciagniecie pliku, ale jak ustawic prawa tak zeby mogl ten plik sciagnac tylko ten uzytkownik ktory wywola ten skrypt ? Albo jeszcze lepiej zeby chmod sam sie zmienil po skonczeniu pobierania pliku. Czy jest taka mozliwosc ? |
Autor: | Maciek [ środa, 17 grudnia 2008, 22:02 ] |
Tytuł: | |
Polecenie chmod należy do roota, więc robisz kolejną dziurę w systemie, bo musisz dać sudo dla nobody. Poza tym whatever, jakie ci się zamarzyło jest niewykonalne dlatego, że przez www udostępniony plik musi mieć prawa do odczytu (przynajmniej) dla wszystkich inaczej dostaniesz 403 na wyjściu. Musiałbyś zmuszać usera do zalogowania się na swoje konto i umieszczać mu ten plik na jego koncie FTP. Oczywiście można zrobić logowanie przez www i wymuszać dostęp do pliku za pomocą tego logowania - czyli: jeśli jesteś userem adam, to możesz pobrać plik, a jeśli userem ewa, to wara ci od niego, ale wtedy chmod ci się do niczego nie przyda. |
Autor: | CyberDuck [ środa, 17 grudnia 2008, 22:13 ] |
Tytuł: | |
Macku nie wiem czy czytales. Plik poczatkowo ma dostep wara. Po podaniu linka w postaci domena/pliki/?id=1 pobierana jest nazwa pliku z bazy, zmieniany jest chmod na prosze bardzo i wtedy zaczyna sie transfer. Wszystko z poziomu php. Przy okazji moge notowac do bazy ile razy plik zostal sciagniety, itd. Problem jest tego typu, ze jesli ktos juz wczesniej zna nazwe pliku to w tym samym czasie jesli wywola plik to moze sobie go scianac to raz. A dwa, ze po skonczeniu pobierania pliku chcialbym znowu dac chmod wara, ale najlepiej jakby chmod zamykal sie sam albo byl nadawany wylacznie na czas transmisji. Na jedno wychodzi. Ewentualnie jakos nadac sesji prawa. Albo poprzez cron co minute sprawdzac czy nadal jest aktywne polaczenie do pliku i jesli nie to zamianiac dla tych plikow uprawnienia na wara. Moze cos podpowiecie ... |
Autor: | CyberDuck [ środa, 17 grudnia 2008, 23:25 ] |
Tytuł: | |
Problem sie rozwiazal sam. Jesli podczas pobierania pliku zmieni sie chmod do tego pliku to nieprzerywa to juz rozpoczetego transferu. Zrobilem probe. Otworzylem dwie konsole. W jednej sobie przygotowalem komende chmod 000 plik w drugiej przypisalem chmod na 644 i rozpoczolem transfer pliku poprzez www. Kiedy juz transfer trwal wykonalem komende z pierwszej konsoli i mimo chmod 000 transfer trwal nadal, ale nowy uzytkownik juz nie mogl znalezc pliku. |
Autor: | Maciek [ środa, 17 grudnia 2008, 23:29 ] |
Tytuł: | |
Ja czytałem twoje pytanie, ale nie wiem, czy ty czytałeś moją odpowiedź ![]() Cytuj: Ten skrypt jesli rozpozna id zmienia chmod i pozwala na sciagniecie pliku, ale jak ustawic prawa tak zeby mogl ten plik sciagnac tylko ten uzytkownik ktory wywola ten skrypt ?
Napisałem, że przypisac to można użytkownikowi za pomoca logowania w php i sprawdzenia tego logowania, ale nie ma to nic wspólnego z chmod, trzeba zastosować mechanizm dostępu do pliku w php. Możesz zastosować oczywiście mechanizm sesji w phap lub różne inne whatever ale z nnd to raczej juz nie ma nic wspólnego - to kwestia apacza, php i umiejętności ![]() BTW mam wrażenie, ze udziwniasz... |
Autor: | viater [ czwartek, 18 grudnia 2008, 00:55 ] |
Tytuł: | |
Maciek pisze: [ciach]
Napisałem, że przypisac to można użytkownikowi za pomoca logowania w php i sprawdzenia tego logowania, ale nie ma to nic wspólnego z chmod, trzeba zastosować mechanizm dostępu do pliku w php. Możesz zastosować oczywiście mechanizm sesji w phap lub różne inne whatever ale z nnd to raczej juz nie ma nic wspólnego - to kwestia apacza, php i umiejętności ![]() BTW mam wrażenie, ze udziwniasz... Dokładnie to samo miałem napisać: sorry, ale z tym chmod-em to takie kombinowanie pod górkę i - za przeproszeniem - trochę od dupy strony. Wszystko, co potrzebujesz, da się w prosty sposób zrobić w samym PHP. |
Autor: | CyberDuck [ czwartek, 18 grudnia 2008, 01:20 ] |
Tytuł: | |
Viater to moze podaj wiecej cos napisz. |
Strona 1 z 1 | Strefa czasowa UTC+2godz. |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |