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/