Какие разрешения необходимы для удаления файла в Unix? - PullRequest
0 голосов
/ 11 февраля 2019

В настоящее время у меня есть каталог (udir), который имеет только права на чтение и запись для всех пользователей.Этот каталог содержит два файла (file1 & file2)

Сначала я подумал, что для доступа к записи / удалению файла через (rm udir / file1) мне понадобился только доступ на запись (в каталоге), ноКоманда rm выдаст мне отказ в доступе.Когда я устанавливаю права на чтение, запись и выполнение, команда rm работает.

Очевидно, что также необходим доступ для выполнения, но почему ??

Я думал, что доступ для выполнения в каталогедолжен был сделать его рабочим каталогом, найти его содержимое и получить доступ к подкаталогам.

1 Ответ

0 голосов
/ 11 февраля 2019

На самом деле вам нужны разрешения read и write для каталога, а не для самого файла, поскольку операция выполняется с учетом влияния разрешений для каталогов.

Хорошую документацию можно найти на эта ссылка , которая упоминает ниже в разделе Особые замечания по каталогам :

Чтобы удалить файл, требуется как запись (для изменения самого каталога), так и выполнение(для stat () индекс файла) в каталоге.Обратите внимание, что пользователю не нужны права доступа к файлу и владелец файла для его удаления!

...