Я правильно понимаю разрешение к каталогам в Linux/Unix?
Если Ваш каталог имеет только r
(прочитайте) разрешение, Вам разрешают видеть содержание каталога (какие файлы расположены там), но Вы не можете сделать этого, потому что Вы не можете пойти (cd
) к этому каталогу (из-за отсутствия x
полномочия). Вы также не видите содержание каталога (от которого файлы расположены там) за пределами каталога (например, ls directoryname/*
). Вы также будете не мочь читать, (посмотрите) содержание файлов, расположенных в таком использовании каталога cat
и more
команды (даже если у Вас есть полномочия считать эти файлы). Вы также будете не мочь изменить (пишут) файлы (даже если у Вас есть полномочия записи им), если эти файлы расположены в таком каталоге (независимо от того, что Вы пробуете cat >>
, echo >>
, cp
или некоторый текстовый редактор). Так, с моей точки зрения, чтобы иметь только r
полномочия к каталогу эквивалентны наличию абсолютно никаких полномочий к каталогу.
Если Ваш каталог имеет только x
(выполните) полномочия, Вам разрешают пойти (cd
) в каталог, но Нельзя видеть (ls
) содержание каталога (потому что у Вас нет полномочий прочитать каталог). Если каталог имеет только x
разрешение и это содержат файл, для которого Вы имеете r
(читайте) и w
(запись) полномочия, Вы все еще хорошо не мочь открыть этот файл с (в leas некоторые) текстовые редакторы (например, mcedit
). Но Вы сможете считать контекст файла с помощью таких команд как cat
или more
. Вы alls сможете изменить контент использования файла echo >>
или cat >>
. Так, это кажется мне, который это x
что позволяет пользователям "читать" и "писать" существующие файлы в каталоге (если файлы имеют соответствующие полномочия также).
Если каталог имеет r
и x
полномочия, но нет w
(запись) полномочия, Вы не можете изменить содержание каталога (набор файлов, которые расположены там). Например, Вы не можете создать новый файл там или удалить существующий в каталоге. Но Вам все еще разрешают изменить содержание существующих файлов. Так, Вам нужно w
полномочия создать или удалить файлы в каталоге.
Добавленный:
Также интересно упомянуть это w
разрешение к каталогу необходимо, но не достаточно, чтобы создать и удалить файлы в каталоге. Если каталог имеет только w
разрешение Вы будете не мочь добавить/удалить файлы из/в каталог. Чтобы смочь сделать так, Вы должны иметь x
разрешение к каталогу (дополнительно к w
разрешение).
Вопрос говорит:
Если Ваш каталог имеет только "r" (чтение) разрешение, Вам разрешают видеть содержание каталога (какие файлы расположены там), но Вы не можете сделать этого, потому что Вы не можете перейти ("CD") к этому каталогу (из-за отсутствия "x" полномочий).
Да, можно сделать это, Вы видите список файлов, которые содержатся каталогом:
$ mkdir mydir
$ echo text > mydir/myfile
$ chmod a-wx mydir
$ ls -lA
total 4
dr--r--r-- 2 hcs hcs 4096 2010-02-28 22:12 mydir
$ ls -lA mydir
ls: cannot access mydir/myfile: Permission denied
total 0
-????????? ? ? ? ? ? myfile
Но Вы не получите доступ ни к какой другой информации из файла, чем его имя как шоу списка.
От этой страницы в Дартмутском колледже:
Помните для чтения файла необходимость в доступе на выполнение к каталогу, это находится в И доступ для чтения к самому файлу. Записать файл, Ваш доступ на выполнение потребности к каталогу И доступ для записи к файлу. Чтобы создать новые файлы или удалить файлы, Вам нужен доступ для записи к каталогу. Вам также нужен доступ на выполнение ко всем родительским каталогам назад к корню. Групповой доступ повредится, если родительский каталог будет сделан абсолютно частным.
Таким образом от моего чтения Вашего вопроса и этой страницы, похоже, что у Вас есть он пятно на.