Интерпретация 1: каталог является подпространством файловой системы. Он может быть далее подразделен на подпространства путем создания в нем подкаталогов. Владелец директории foo
должен иметь контроль над всем внутри подпространства: foo/bar
, foo/bar/qux
и т.д.
Интерпретация 2: каталог является подпространством файловой системы. Каждый каталог связан с другим каталогом, который называется его родителем. Владелец каталога foo
имеет контроль над всем внутри подпространства; однако, для подкаталога foo/bar
владелец foo
имеет контроль над тем, bar
может ли быть присоединен к нему, foo
но не над тем, что входит внутрь bar
: только владелец bar
имеет контроль над этим.
Свидетельство в пользу интерпретации 2: как вы заметили, как работают разрешения. Кроме того, тот факт, что некоторые файловые системы Unix позволяют подключать каталог к нескольким родителям: это называется наличием нескольких жестких ссылок. (Наличие нескольких жестких ссылок является обычным для обычных файлов, но обычно это не рекомендуется или запрещено для каталогов, в основном из-за риска создания циклов, когда каталог является его собственным прародителем N раз удаляется - поэтому вы не можете получить к нему из корня Каталог, который является очень распространенным ожиданием. Существует также проблема того, что делать, если каталог имеет 0 жестких ссылок, но не является пустым: поскольку каталог не присоединен, вы хотите удалить его, но что вы делаете с его содержание?)
Свидетельство в пользу интерпретации 1: на практике каталоги имеют одного родителя и, таким образом, образуют древовидную структуру. И вы не можете получить доступ, foo/bar/qux
если у вас нет разрешения на выполнение, foo
а также bar
(ну, за исключением того, что есть несколько неясных способов получить доступ bar
без предоставления доступа foo
). Так что верхние уровни имеют значение.
С практической точки зрения, в вашей ситуации, пользователь А может сделать
макдир мусор
мв фу / бар мусор /
рмдир фу