Ustawienia uprawnień systemu Unix dla całego folderu


To jest pytanie dla początkujących.
Znajduję się w folderze obrazów, z których żaden nie pojawia się w mojej witrynie. Uważam, że uprawnienia nie są ustawione poprawnie.
Co powinienem zrobić, aby poprawnie je skonfigurować, aby się pojawiały. Jakie uprawnienia daję i jak to zrobić, czy najpierw muszę przejść o jeden poziom wyżej? Czy mogę zainstalować je wszystkie za jednym razem?
Podziękować.
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:


Poleciłbym polecenie find, aby ustawić uprawnienia:
Zapewnij wszystkim możliwość przeszukiwania i czytania wszystkich katalogów (patrz.

ten odsyłacz dotyczy uprawnień do katalogu w systemie Unix
http://content.hccfl.edu/pollo ... s.htm, uprawnienia mają inne znaczenie niż pliki):
sudo bash -c "find/var/www/root/images -type d -print0 | xargs -0 chmod oga+rx"

W przypadku plików:
sudo bash -c "find/var/www/root/images -type f -print0 | xargs -0 chmod oga+r"

Aby upewnić się, że żaden z członków grupy nie może do niczego pisać:
sudo bash -c "find/var/www/root/images -type f -print0 | xargs -0 chmod a-w"

Powodem, dla którego ustawiłem uprawnienia dla właściciela, grupy i wszystkich innych, jest to, że nawet jeśli wszyscy mają uprawnienia do odczytu, jeśli właściciel ich nie ma, właściciel nie będzie mógł odczytać pliku.
„Uruchom” - to uprawnienie „x” jest powszechnie nazywane uprawnieniami „wyszukiwania”, gdy jest używane z katalogami. Będziesz także potrzebować uprawnień do przeszukiwania wszystkich katalogów aż do roota, z powyższego linku dotyczącego uprawnień do katalogów:

Uprawnienie do wyszukiwania jest wymagane w wielu typowych sytuacjach. Rozważ polecenie „cat/home/user/foo”. To polecenie jawnie wymaga uprawnień do odczytu pliku foo. Ale jeśli nie masz uprawnień do przeszukiwania katalogów/,/home i/home/user, cat nie będzie w stanie znaleźć i-węzła foo, a zatem nie będzie w stanie go odczytać! Potrzebujesz uprawnień do wyszukiwania w każdym katalogu nadrzędnym, aby uzyskać dostęp do i-węzła dowolnego pliku (lub katalogu) i nie możesz odczytać pliku, jeśli nie możesz dostać się do jego i-węzła.

Więc w moim przykładzie będziesz potrzebować również uprawnienia wyszukiwania (+ x) w/var,/var/www,/var/www/root, itp.

Nie używaj + rX

przepraszam, że umieszczam to w poście, ale muszę zakodować tagi i nie wiem, jak ich użyć w komentarzu. Poniższe dotyczy nie tylko katalogów, ale także plików, jeśli użytkownik ma już uprawnienia do wykonywania.
chmod -R a+rX images

Przykład:
[kbrandt@kbrandt-opadmin: ~/scrap/X] touch XnotOnlyDirectories     
[kbrandt@kbrandt-opadmin: ~/scrap/X] ls -l
total 0
-rw-rw-r-- 1 kbrandt kbrandt 0 2009-08-11 06:29 XnotOnlyDirectories
[kbrandt@kbrandt-opadmin: ~/scrap/X] chmod u+x XnotOnlyDirectories
[kbrandt@kbrandt-opadmin: ~/scrap/X] ls -l
total 0
-rwxrw-r-- 1 kbrandt kbrandt 0 2009-08-11 06:29 XnotOnlyDirectories
[kbrandt@kbrandt-opadmin: ~/scrap/X] cd ..
[kbrandt@kbrandt-opadmin: ~/scrap] chmod -R a+rX X
[kbrandt@kbrandt-opadmin: ~/scrap] ls -l X
total 0
-rwxrwxr-x 1 kbrandt kbrandt 0 2009-08-11 06:29 XnotOnlyDirectories

Ze strony podręcznika chmod:

wykonywać/wyszukiwać tylko wtedy, gdy plik jest katalogiem

lub ma już uprawnienia do wykonywania dla jakiegoś użytkownika

(X)


Jeśli chodzi o Apache:
Nie znam ostatecznego poprawnego sposobu, możesz użyć uprawnień, które ustawiłem i uruchomić Apache jako użytkownik none, lub możesz użyć grupy lub użytkownika dla Apache, takiego jak apache lub www-data. Widzieć

ten link
http://onlamp.com/pub/a/apache ... ml... Jeśli wybierzesz trasę brak, upewnij się, że nikt nie ma poprawnego identyfikatora użytkownika:
[kbrandt@kbrandt-opadmin: ~/scrap] id nobody                       
uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Użyj następującego polecenia
chmod -R a+rX images


-R
: powoduje, że polecenie działa rekurencyjnie, przechodząc przez wszystkie znajdujące się w nim katalogi.

a + rX
: sprawia, że ​​pliki mogą być odczytywane przez wszystkich, a katalogi są „dostępne dla wszystkich”. Wielkie litery X przyznaje uprawnienia do wykonywania tylko katalogom, a nie zwykłym plikom. (

edytować
: jeśli pliki nie mają jeszcze uprawnień do wykonywania dla żadnego użytkownika)

zdjęcia
: nazwa folderu, możesz określić pełną ścieżkę, na przykład
/home/user/public_html/images
Nawiasem mówiąc, nie możesz
         chown
plik, jeśli nie jesteś rootem (

edytować
: lub binarny suid root chown)
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

użyj polecenia chmod z opcją -R, aby wykonać akcję rekurencyjnie. Człowiek chmod pomoże ci.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Pamiętaj, aby przesłać pliki na właściwe konto/grupę właściciela serwisu. jeśli skopiowałeś go, na przykład używając konta root, serwer WWW najprawdopodobniej nie będzie miał dostępu do plików. Ustaw rozdzielczość pliku obrazu na 644 za pomocą chmod.
Użyj podkatalogów rekurencyjnych -R.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

(Spróbuję wyjaśnić DLACZEGO, a nie tylko jak)
Masz dwa problemy: własność i uprawnienia.
Istnieją dwa typy własności: użytkownik i grupa. Dobra administracja sieciowa pozostawia serwer sieciowy „nikt” (lub odpowiednik), a pliki, które wyświetla, są własnością administratora sieci. Własność grupy i być grupą administracyjną WWW, jeśli jest więcej niż jedna osoba, lub po prostu domyślną grupą dla administratora WWW.
Istnieją trzy typy uprawnień: użytkownik, grupa i świat. Każdy RWX w

ls -l

Polecenie przyznaje uprawnienia do odczytu, zapisu i wykonywania najpierw użytkownikowi, potem grupie, a następnie światu.
Jeśli rozdajesz obrazy wszystkim i wszystkim, udostępnij katalog obrazów i obrazy z czytelnym dostępem, aby rozwiązać problem bez martwienia się o własność. Jeśli obrazy są tylko dla zarejestrowanych użytkowników, świat r/w/x powinien być wyłączony (wyświetlany jako

---

w

ls -l

)
Jako minimum administrator sieciowy powinien mieć dostęp do odczytu/zapisu obrazów lub rwx. (Istnieją wyjątki dotyczące zablokowanych zarządzanych witryn internetowych, ale wydaje mi się, że tak nie jest w tym przypadku).
Kiedy skończysz, Twoja własność powinna wyglądać następująco:
chmod 774 *.jpg
rwxrwxr-- webadmin webgroup # Allow web admin and group to modify, everyone to view
chmod 744 *.jpg
rwxr--r-- webadmin webgroup # Allow only web admin to modify, everyone to viewchmod 740 *.jpg
rwxr----- webadmin webgroup # Allow only web admin to modify, only him and webgroup to view, this means web server must be in webgroup.chmod 740 *.jpg
chgrp nobody *.jpg
rwxr----- webadmin nobody # If apache user is nobody/nobody, this is better
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Możesz sprawdzić chown zamiast chmod. Chown ==

C

odłożyć słuchawkę

JEGO

uprawnienia do korzystania i pliki z uprawnieniami użytkownika utrzymującego usługę. httpd zwykle działa pod

www-data

lub

httpd

użytkowników i grup w większości nowoczesnych dystrybucji Linuksa.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Nie wspominasz, czy regularnie dodajesz pliki do tego folderu.
Zauważyłem, że jeśli folder jest dodawany regularnie, ustawienie opcji dołączania grupy do folderu rozwiązuje sytuację bez zastanowienia.
Na przykład ustawienie własności grupy jako grupy serwera WWW i grupowych uprawnień do odczytu/przypinania do folderu oznacza, że ​​nowe pliki zostaną skonfigurowane dla tej grupy i będą czytelne. Jeśli folder jest zarządzany przez zespół, pomocne jest również nagrywanie grupowe.
Jednak nie zawsze działa podczas przenoszenia plików do folderu.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się