Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jaki chmod dla plików a jaki dla folderów
Forum PHP.pl > Forum > Przedszkole
adamantd
Witam!
Może to trochę elementarne pytanie ale na to błache pytanie nie mogę znaleźć odpowiedzi. Wszędzie piszą, że dla każdego pliku z osobna nadać chmod przez total commandera 644, gdzieś jednak wyczytałem, że 444. Dla folderów piszą 755..... Jak to właściwie powinno się ustawić, żeby było bezpiecznie? (Jeżeli ma to jakieś znaczenie to strona jest na Hostingu)

I drugie pytanie błache ale nie mogę również znaleźć na nie odpowiedzi -jeśli ustawię sobie chmod na każdym pliku z osobna np 444 to czy strona będzie mi działać? I czy sam nie zablokuję sam siebie w sensie czy będę mógł znowu zmienić chmod łącząc się przez total commandera?

Wystarczy mi link do dobrego artykułu (po polsku), chyb, że ktoś mi to wytłumaczy w kilku zdaniach zrozumiale

z góry dzięki
artuross
Chmod powinienes ustawic tak, zeby uzytkownik mial jak najmniejsze potrzebne mu przywileje, czyli dla usera, ktory bedzie serwowal strone potrzebujesz dla plikow tylko read (chyba, ze masz zamiar cos modyfikowac), dla folderow to samo. Dla uzytkownika, ktorym bedziesz wrzucal pliki, musisz dac rw na pliki i foldery. Ale dokladne przywileje zaleza od tego kto bedzie wlascicielem pliku, itd.

W kazdym razie powienienes wiedziec, ze dla usera, ktory ma odpalonego deamona powienienes dac tylko r (jesli nie zamieniasz nic zmieniac), a dla modyfikacji dac rw.
adamantd
Nie wiem czy się dobrze rozumiemy a przynajmniej ja chyba nie rozumiem.

Napiszę łopatologicznie przykład smile.gif

Łączę się przez tcmd i nadpisuję co jakiś czas pliki z nowszą zawartością (ulepszenia w aplikacji itp). Jeśli nadam takim plikom np 444 to, żeby nadpisać za każdym razem będę musiał na chwilę zmienić prawa dost. na 777 po czym po aktualizacji plików zmienić znów na 444
nie wiem czy dobrze rozumiem

ponadto np folder do którego są zapisywane zdjęcia uploadowane przez usera nie może chyba mieć 444 bo zdjęcia się nie zapiszą? więc mogę mu nadać np 755 na stałe a co z plikami z oprogramowaniem, które zapisuje te uploadowane zdjęcia na serverze? 444?
artuross
Wg mnie powienienes korzystac w ogole z innych kont do tych dwoch czynnosci, poniewaz jest taka zlota zasada, ktora mowi - a co wazniejsze, sprawdza sie - ze uzytkownik nie powienien miec wiecej praw niz mu to potrzebne.
Tak jak napisalem, to zalezy co chcesz robic tym uzytkownikiem, jesli chcesz zapisywac pliki to musisz nadac mu odpowiednie uprawnienia, ale mozesz dac tak uprawnienia, zeby mogl zapisywac pliki tylko w jednym folderze, a w innym tylko je odczytywac.
Poza tym co to za wyskakiwanie z pelnymi uprawnieniami 745? Co to ma do rzeczy? Nic, poniewaz interesuje Cie tylko uzytkownik (7) i ewentualnie jego grupa (4), a nie inni uzytkownicy (5). Wgrywac pliki na serwer mozesz sobie przez roota.
adamantd
Chyba dalej tego nie rozumiem.... Mógłbyś podać jakiegoś linka gdzie tłumaczą to dla opornych?
artuross
Ehh... staram sie Ci wytlumaczyc, ze nie ma czegos takiego jak uniwersalne prawa, poniewaz Ty sam wiesz najlepiej co w zalozeniu uzytkownik moze robic w Twojej aplikacji.
Wiec zakladasz dwoch uzytkownikow, jeden z nich to konto, z ktorego bedziesz logowal sie do ftp, a drugi to ten, ktory bedzie wyswietlal strony w internetach. Wlascicielem wszystkich plikow ma byc w zalozeniu ten od ftp. Dlatego wszystkim plikom nadajesz atrybuty 554, a folderowi 555, mam nadzieje, ze nic nie pomylilem i tak ma dzialac Twoj serwis.
adamantd
Chyba tak -ja jestem osobą która edytuje pliku, kopiuje, usuwa itd a użytkownik to jakby serwis, który odczytuje te pliki hehe smile.gif (czasami są rzeczy, których pomimo ich prostoty nie mogę zakumać smile.gif) porobię trochę testów w nocy z tymi chmodami będę wiedział już wszystko

artuross
No wlasnie, ale teraz musisz utworzyc jeszcze dwoch fizycznych userow, np. kontoFTP i deamonUser, no albo mozesz logowac sie z roota, co bylo by lepszym rozwiazaniem, ale w tym momencie staram sie wyjasnic Ci cos innego tongue.gif
Wiec przywileje w Linuxie sa zapisane jako NNN, gdzie N to liczba 0-7, to powinienes wiedziec. Kazda liczba to co innego: <owner><group><others>, a wg tego co ja napisalem wczesniej, <owner> jest kontoFTP, a deamonUser jest <others>

Teraz posklejaj do kupy i bedziesz mial wszystko smile.gif
BTW. to z pewnoscia moj wrodzony talent to utrudnienia najprostszych rzeczy w taki sposob, ze sam nie rozumiem smile.gif
adamantd
spoko ja czasem piszę wg mnie strasznie skomplikowane rzeczy gdzie trzeba na prawdę się skupić i jestem z siebie dumny że działa a potem gubię się w temacie takich podstaw smile.gif ok biorę się za nadawanie chmodów zobaczę co z tego wyjdzie

a dlaczego nie można nadać wszędzie 444 i mieć spokój?
artuross
Mozesz nadac, ale wtedy nie bedziesz mogl modyfikowac, dopoki nie zalogujesz z poziomu roota. Mozesz wszedzie nadac 777, ale mysle ze nie o to chodzi smile.gif
adamantd
ale chwila, z poziomu roota masz na myśli total commandera -ja nie modyfikuję ich inaczej tylko właśnie tak, więc mógłbym nadać wszystkim 444

to wtedy pytanie czy user korzystający z serwisu będzie mógł sobie dodać zdjęcie do swojego profilu? (jeżeli dobrze zaczynam to rozumować hehe wink.gif to chyba nie będzie mógł bo wywali mu błąd)questionmark.gif
artuross
No widzisz, czyli wszystkim plikom tylko do odczytu nadajesz 444, a folderowi, ktory zawiera upload dodajesz takze prawa do modyfikacji, czyli 664 (temu folderowi, a takze wszystkim wyzej w drzewku);
adamantd
Ok kumam dzięki za odpowiedzi

z plikami ok ale jak zmieniłem prawa dostępu dla folderu z avatarami i próbuję zmienić avatar jako zalogowany użytkownik w serwisie to nie zapisuje mi pliku (664)
artuross
Wszystkie foldery wyzej w drzewku musza miec tez prawa modyfikacji dla tego uzytkownika.
KamilES
Witam,

proszę o małą pomoc:

Przez przypadek zmieniłem chmod folderu na 644

Teraz w total commanderze nie widać tego katalogu. Jak zmienic znów na 755?

pozdrawiam
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.