Следует отметить , что во всех этих случаях, собственность представляет собой смесь student1
и studen1
Я просто предположу, что это опечатка, и описанная реальная ситуация заключается в том, что как каталог, так и файл принадлежат учетной записи пользователя и соответствующей группе, что является одинаковым для обоих.
В большинстве реализаций каталоги - это действительно особый тип файла (например, узел блочного устройства или канал файловой системы), в котором содержится список файлов (и других каталогов), которые логически существуют внутри него, а также указатели на себя и его родительский объект. каталог (.
и ..
записи соответственно). Изменение списка файлов в каталоге включает в себя обновление этого каталога-файла.
В стандартном Linux владелец всегда может удалить свои собственные файлы. Это довольно логичное продолжение того факта, что владелец может изменять права доступа к файлу, поэтому даже если бы он не смог удалить его изначально из-за прав доступа к файлу, он мог бы просто дать себе такое разрешение.
Однако, поскольку удаление файла включает запись в каталог (чтобы удалить ссылку на файл), пользователь, удаляющий файл, должен иметь доступ на запись в каталог, в котором находится файл.
Случай (а) - это единственный случай, когда пользователь имеет право на запись в каталог, и, следовательно, единственный случай, когда пользователь может удалять файлы в этом каталоге.
В случае (b) вы не можете спуститься в каталог (отсутствие разрешения x
) и, таким образом, вообще ничего не можете сделать с его содержимым.
В случае (c) у вас нет прав на запись в каталог, и, следовательно, вы не можете изменить содержимое каталога.
Случай (d) в принципе мог бы сработать, но поскольку пользовательские разрешения переопределяют групповые разрешения, которые, в свою очередь, переопределяют мировые разрешения (где каждый более конкретный тип разрешений применим к пользователю, выполняющему действие), отсутствие доступа на запись к Каталог для пользователя имеет приоритет над группой, имеющей доступ для записи. Следовательно, удаление не выполняется из-за отсутствия прав доступа.
Рассмотрим (несколько неочевидный) способ, которым обычные права доступа к файлам (чтение / запись / выполнение) отображаются в каталогах, и что они означают:
r
Разрешение на каталог означает, что вы можете перечислить файлы, потому что это позволяет читать каталог-файл
- Разрешение
w
на каталог означает, что вы можете добавлять, редактировать и удалять записи каталога, поскольку оно позволяет записывать в каталог-файл
x
разрешение на каталоге означает , что вы можете спуститься в каталог, что позволяет получить доступ к записи каталога при условии, что вы знаете его имя, потому что причины (и там нужно быть каким - то образом выразить способность снизойти в каталог)