Dlaczego folder musi być wykonywalny?


29

Zezwolenie na pliki:

chmod 664 myFile // rw-rw-r--

A dla folderów:

chmod 774 myFolder // rwxrwxr--

Jeśli użyję tylko uprawnienia do odczytu i zapisu, foldery nie będą wyświetlać ich zawartości.

Jaki jest tego powód?

Odpowiedzi:


14

Ponieważ nie można „wykonać” katalogu, bit wykonania został lepiej wykorzystany. Bit wykonania w katalogu umożliwia dostęp do elementów znajdujących się w katalogu, nawet jeśli nie można wyświetlić zawartości katalogów.

$ mkdir -p dir/
$ echo 'Hello World!' > dir/file
$ chmod 000 dir/
$ ls -al dir/
ls: cannot open directory dir: Permission denied
$ cat dir/file
cat: dir/file: Permission denied
$ chmod +x dir/
$ ls -al dir/
ls: cannot open directory dir: Permission denied
$ cat dir/file
Hello World!

Z strony chmodpodręcznika:

Litery rwxXst wybierają bity trybu pliku dla dotkniętych użytkowników: odczyt (r), zapis (w), wykonanie (lub wyszukiwanie katalogów) (x) , wykonanie / wyszukiwanie tylko, jeśli plik jest katalogiem lub ma już uprawnienia do wykonywania dla niektórych użytkownik (X), ustaw ID użytkownika lub grupy na wykonanie (s), flagę ograniczonego usuwania lub lepki bit (t).


42

Katalogi (zwykle nie są nazywane folderami w * nix) mają inne znaczenie dla bitów uprawnień niż normalne pliki.

W przypadku katalogów zapis pozwala na tworzenie nowych plików w nim zawartych.

Odczyt pozwala wyświetlić listę plików w nim zawartych.

Wykonaj pozwala na wejście i dostęp do plików (lub innych katalogów) w środku.


2
Łatwym sposobem na zapamiętanie jest wyobrażenie sobie wykonania jako dwukrotnego kliknięcia na czymś. Po dwukrotnym kliknięciu katalogu (lub cd) wprowadzasz go (wykonuje).
John T

Pamiętaj, że sam dostęp do zapisu w katalogu nie pozwoli ci tworzyć nowych plików. Aby to zrobić, potrzebujesz również uprawnienia do wykonania katalogu.
Matthias Braun

Czy „dostęp do plików (lub innych katalogów)” oznacza, że ​​mogę je zobaczyć, tzn. Wyświetlić listę, ale nie mogę ich wyświetlić, czy też mogę zobaczyć pliki, tj. Wyświetlić je i odczytać?
vadasambar


1

Bit „wykonaj” w rzeczywistości oznacza „szukaj”, gdy jest zastosowany do katalogów (z man chmod). Wydaje się to rozsądne, ponieważ wykonanie nie ma znaczenia dla katalogu.


0

xNieco w folderze odnosi się do wyszukiwania indeksowanie / katalog / liście; żaden z nich nie jest możliwy, jeśli utrzymasz ten poziom na niskim poziomie.

Oto przykład użycia: Jeśli chcesz mieć użytkownikowi ograniczone uprawnienia do odczytu na każdym katalogu, ale jego domu, powiedzmy /home/dummy, to trzeba zrobić /i /homemieć xustawiony bit, w przeciwnym razie nie można nawet dostać się do jego katalogu domowym.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.