Jeśli mam folder główny z ograniczonymi uprawnieniami, powiedzmy 600, a jeśli foldery / pliki podrzędne mają uprawnienia 777, czy wszyscy będą mogli odczytać / zapisać / wykonać plik podrzędny, nawet jeśli folder główny ma 600?
permissions
directory
Ken Li
źródło
źródło
Odpowiedzi:
Dokładna zasada brzmi: możesz przechodzić przez katalog tylko wtedy, gdy masz do niego uprawnienia.
Na przykład, aby uzyskać dostęp
dir/subdir/file
, musisz wykonać uprawnienie dodir
idir/subdir
, plus uprawnienia dofile
dla typu dostępu, który chcesz. Wchodząc w przypadki narożne, nie jestem pewien, czy to uniwersalne, że potrzebujesz uprawnień do wykonania w bieżącym katalogu, aby uzyskać dostęp do pliku poprzez ścieżkę względną (tak jak w Linuksie).Sposób dostępu do pliku ma znaczenie. Na przykład, jeśli masz uprawnienia do wykonywania włączone,
/foo/bar
ale nie włączone/foo
, ale bieżący katalog to/foo/bar
, możesz uzyskać dostęp do plików/foo/bar
poprzez ścieżkę względną, ale nie ścieżkę bezwzględną. W/foo/bar
tym scenariuszu nie możesz się zmienić ; proces uprzywilejowany prawdopodobnie został przeprowadzony,cd /foo/bar
zanim stał się nieuprzywilejowany. Jeśli plik ma wiele twardych łączy, ścieżka dostępu do niego określa ograniczenia dostępu.Linki symboliczne niczego nie zmieniają. Jądro korzysta z praw dostępu procesu wywołującego, aby je przechodzić. Na przykład, jeśli
sym
jest dowiązaniem symbolicznym do katalogudir
, musisz uzyskać uprawnieniadir
dostępu, aby uzyskać dostępsym/foo
. Uprawnienia do samego dowiązania symbolicznego mogą, ale nie muszą mieć znaczenia, w zależności od systemu operacyjnego i systemu plików (niektórzy je szanują, inni ignorują).Usunięcie uprawnień do wykonywania z katalogu głównego skutecznie ogranicza użytkownika do części drzewa katalogów (w którą musi przejść proces bardziej uprzywilejowany). Wymaga to jakiegokolwiek użycia list kontroli dostępu. Na przykład, jeśli
/
i/home
są ograniczone dojoe
(setfacl -m user:joe:0 / /home
) i/home/joe
jestjoe
katalogiem domowym, tojoe
nie będzie mógł uzyskać dostępu do reszty systemu (w tym do uruchamiania skryptów powłoki z/bin/sh
dynamicznie połączonymi plikami binarnymi, które wymagają dostępu/lib
, więc ' d trzeba zejść głębiej do praktycznego zastosowania, npsetfacl -m user:joe:0 /*; setfacl -d user:joe /bin /lib
.).Uprawnienie do odczytu katalogu daje prawo do wyliczenia wpisów. Czasami przydatne jest udzielenie zgody na wykonanie bez zgody na odczyt: nazwy wpisów służą jako hasła dostępu do nich. Nie mogę wymyślić żadnego zastosowania w udzielaniu uprawnień do odczytu lub zapisu do katalogu bez pozwolenia.
źródło
Nie. Zezwolenie na folder główny ogranicza uprawnienia do plików podrzędnych. Możesz tego spróbować.
Rozumiem:
źródło
Możesz uczynić katalog potomny zapisywalnym, nawet katalog macierzysty nie. Robię to dla grup.
Na przykład: katalog nadrzędny jest własnością programisty grupy
katalog potomny
Ty (dowolny członek grupy koderów) możesz nadal zapisywać w katalogu potomnym, ale nie w katalogu macierzystym.
źródło
Możesz utworzyć twardy link, aby uzyskać dostęp do pliku, nawet jeśli nie masz uprawnień do wykonywania w katalogu nadrzędnym. Ale tutaj jest haczyk: musisz utworzyć twarde dowiązanie, zanim stracisz uprawnienia do wykonywania w katalogu nadrzędnym
źródło