chmod 755 для каталогов — позволяет ли это всем удалять папку?

#unix #permissions #chmod

#unix #разрешения #chmod

Вопрос:

Бит «выполнить» также означает разрешения на «удаление», или для этого мне нужны разрешения на «запись»?

Ответ №1:

Чтобы удалить каталог, родительский каталог этого каталога должен быть доступен для записи действующим пользователем. Флаги write и execute удаляемого каталога не имеют значения.

Кроме того, невозможно удалить каталог, если он не пуст. Часто пользователь использует rm -r команду для рекурсивного удаления непустого дерева каталогов, предварительно удалив все его содержимое. Если у пользователя нет прав на запись в подкаталоги, он / она не может сначала очистить их содержимое.

Комментарии:

1. Итак, что, если каталог создан PHP. Если у пользователя есть права на запись на родительский сервер, он все равно может удалить эту подпапку?

2. @Wesley Предполагая, что вы имеете в виду каталог , а не сервер , тогда да. Если у пользователя есть права на запись в родительский каталог, он может удалить подкаталог. Возможно, вы захотите перефразировать свой вопрос, чтобы спросить, что вас действительно беспокоит. Возможно, существует лучшее решение.

3. Я не уверен, где я сказал сервер? Я имел в виду, когда я создаю каталог на PHP (т.Е. На стороне сервера) с помощью функции mkdir() . Я также создаю вложенные папки в этой папке, поэтому /parent / child / grandchild — только родительский элемент создается пользователем, остальные — php. Сможет ли пользователь удалить через FTP, если chmod равен 755? (предполагая, что php работает как никто)

4. @Wesley Как вы добавляете подкаталоги в родительский каталог, принадлежащий пользователю, если PHP работает как никто? Если PHP не запущен как группа, имеющая права на запись в родительский каталог, mkdir() должен завершиться с ошибкой.

5. Пользователь установил необходимые разрешения для родительской папки (временно).

Ответ №2:

Нет, бит «выполнить» используется каталогами, чтобы определить, может ли «пользователь» просматривать файлы, перечисленные в каталоге. Что касается удаления, то соответствующий бит — это бит разрешения на запись родительского каталога.

Комментарии:

1. Итак, что, если каталог создан PHP. Родительский сервер по-прежнему контролирует удаление?