Czy w systemie Linux uprawnienie do „zapisu” jest równoważne z „uruchomieniem” dla katalogów?

17

Uprawnienie do wykonywania ma sens w przypadku plików (które obejmują skrypty itp.), Ale jeśli chodzi o katalogi, write (w)uprawnienie działa tak samo, jak execute (x), prawda?

Co oznacza, że ​​jeśli udzielamy zezwolenia na zapis do katalogu, zwykle również zaznaczamy „x” (dla wykonania) dla tego katalogu, prawda?

to ja
źródło
2
Twoje pytanie jest teraz niezrozumiałe. Nie jest jasne, gdzie mówisz o uprawnieniach do pliku i gdzie mówisz o uprawnieniach do katalogu, który go zawiera.
Gilles 'SO - przestań być zły'
1
Jeśli masz nowe pytanie, czy możesz je po prostu opublikować osobno ?
Michael Mrozek
1
Co rozumiesz przez „uprawnienie do odczytu wystarczy do pliku?” Wszystko czego potrzebujesz? Aby odczytać plik? Tak. Aby zmodyfikować plik ... nie, chyba że jesteś właścicielem tego pliku.
Gabe.
Oprócz pominięcia operacji „można odczytać, można zmienić nazwę / usunąć pliki w katalogu”, „000: nie można go usunąć” jest w rzeczywistości niepoprawny. Jeśli katalog jest już pusty, możesz go usunąć, jeśli możesz napisać do jego katalogu nadrzędnego. Jeśli nie jest pusty, nie można go usunąć, dopóki nie będzie pusty (uczynienie go pustym jest operacją rekurencyjną, która wymaga wszystkich trzech uprawnień do niego i wszystkich niepustych podkatalogów)
Random832
Twoja edycja tego pytania sprawiła, że ​​zrozumienie, o co pytano, było bardzo mylące i nie wydawało się, aby stanowiło wartość dodaną dla przyszłych użytkowników. Wróciłem do pierwotnego prostego formularza pytania, na który odpowiedział @Gilles. Jeśli masz nowy problem, możesz zadać kolejne pytanie . Staraj się, aby każde pytanie koncentrowało się na jednej kwestii.
Caleb,

Odpowiedzi:

50

Uprawnienie do wykonywania katalogów umożliwia dostęp do plików w katalogu. Uprawnienie do odczytu umożliwia wyliczenie pozycji katalogu. Uprawnienie do zapisu umożliwia tworzenie i usuwanie wpisów w nim.

Posiadanie uprawnień do odczytu lub zapisu w katalogu bez uprawnień do wykonywania nie jest przydatne. Czasami przydatne jest posiadanie uprawnień do wykonywania, ale nie do odczytu: umożliwia dostęp do plików tylko wtedy, gdy znasz ich dokładną nazwę, rodzaj prymitywnej ochrony hasłem.

W praktyce przydatne uprawnienia do katalogu to:

  • ---: brak dostępu
  • --x: może uzyskać dostęp do plików, których nazwa jest znana (czasami przydatna)
  • r-x: normalny dostęp tylko do odczytu
  • rwx: normalny dostęp do odczytu i zapisu

Zobacz także Katalog z uprawnieniami + x, rodzice bez niego. Kiedy to byłoby przydatne? oraz Czy uprawnienia katalogu nadrzędnego mają znaczenie podczas uzyskiwania dostępu do podkatalogu?

Gilles „SO- przestań być zły”
źródło
@Gilles ma rację! Przeprowadzenie pewnych badań w tym zakresie w przypadku Linuksa ujawnia: 1) Gdy katalog nie ma uprawnienia „x” dla użytkownika, nie powiodło się wywołanie systemowe stat lub lstat. Powoduje to, że nie uzyskuje się metadanych pozycji katalogu, nawet jeśli uzyskanie pozycji katalogu (nazwa, i-węzeł) jest możliwe, gdy użytkownik ma uprawnienia do katalogu. 2) Zobacz man 7 path_resolution w systemie Linux, aby uzyskać dodatkowe informacje.
Kedar Mhaswade
2
w-xmoże również mieć swoje zastosowania. Na przykład, powszechną praktyką było, aby publiczne witryny FTP posiadały folder uploadlub incomingfolder, który był publicznie zapisywalny, ale czytelny tylko dla administratorów serwerów.
jmbpiano
Co zrobiłoby rw-to, r--gdyby nie katalogi? Ta odpowiedź wspomina o możliwości zmiany czasu modyfikacji, ale w moim systemie Linux ZFS to nieprawda, byłem w stanie zmienić czas modyfikacji, nawet gdy mój katalog był tylko r--.
CMCDragonkai
@CMCDragonkai Masz rację, zmiana metadanych opiera się na własności, nie jest związana z uprawnieniami. Nie sądzę, że możesz zrobić cokolwiek z rw-katalogiem innym niż lista wpisów (i przenieść / usunąć go, jeśli jesteś jego rodzicem, co nie wymaga żadnych uprawnień do katalogu).
Gilles „SO- przestań być zły”
@Gilles: Zgadza się. z rw-dir nie mogę tworzyć w nim nowych plików ani zmieniać istniejących, nawet jeśli mam rw-plik, który próbuję zmienić. touchPliku też nie mogę . Jestem na Arch Linux 4.14.13.
Matthias Braun