#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. Родительский сервер по-прежнему контролирует удаление?