chmod zmiana uprawnień do katalogów i plików

0

Więc tak wiem jak zmieniać prawa do plików i katalogów z poziomu php, jednak coś mi to nie działa : (.

chmod("../test/test.php", 0777);

Mam swój lokalny serwer i tam za pomocą oczywiście konsoli czy w ogóle sudo bez problemu zmienię prawa, nie wiem jednak co robię nie tak z poziomu php. Co zrobić by od strony serwera pliki php mogły zmieniać prawa katalogom?

1

trzeba mieć pierwsze prawa modyfikować uprawnienia określonego pliku ;) inaczej byłoby tak, że nie mając praw do pliku po prostu byś je sobie nadał i bam, zabezpieczenia złamane. jak już utworzysz plik w php, bo masz do tego prawa - wtedy możesz mu zmieniać uprawnienia na inne. jeżeli od początku nie było uprawnień, to i chmod z poziomu php nie pomoże.

ogólnie jeżeli potrzebujesz zmieniać uprawnienia plików z poziomu php = prawdopodobnie skopana konfiguracja serwera = kupiłeś jakiś biedahosting i najlepiej go zmień (a jak to Twój własny serwer to poczytaj o konfiguracji grup)

serwer powinien chodzić tak, żeby apache/php miał te same uprawnienia co user shellowy/user ftp, czyli wrzucając coś przez ftp/scp masz dostęp do tego z php i odwrotnie - tworząc plik przez php jesteś w stanie go skasować przez ftp/scp

0

Tworzenie plików czy ich kasowanie działa jak najbardziej poprawnie, ale tylko wtedy kiedy ręcznie mam nadane prawa dla katalogu.

0

no to jw. - skopana konfiguracja. szkoda się w to bawić, zmień serwer

0

Nie wiem czy dobrze rozumiem, jeżeli mam już stworzony katalog wcześniej nie za pomocą php to nie mogę zmieniać jego praw z poziomu php?

0

no tak, tak działa linuks, nie tylko php uruchomione tam

użytkownik A stworzył plik, to użytkownik B nie może decydować o nadawaniu mu uprawnień

0

No więc wszystko jasne. Po prostu te pliki miałem stworzone z poziomu sudo i miały prawa roota. Nie mogłem więc zmieniać im praw ponieważ php nie było ich właścicielem (www-data). Wszystko w temacie : )

1 użytkowników online, w tym zalogowanych: 0, gości: 1