Запрет на использование списков ACL за пределами базовой системы разрешений chmod 000
может быть отменен без дополнительных полномочий. Биты разрешений управляют доступом к содержимому файла, но не контролируют доступ на запись к самим битам разрешений. Обычно root и владелец файла всегда имеют доступ на запись к битам прав доступа. Таким образом, вы должны иметь возможность «восстановить» файл, если вы можете выполнять действия в качестве владельца файла.
$ id -u 501 $ echo foo > foo $ stat -f '%u %p' foo; cat foo 501 100644 foo $ chmod 000 foo $ stat -f '%u %p' foo; cat foo 501 100000 cat: foo: Permission denied $ chmod 644 foo $ stat -f '%u %p' foo; cat foo 501 100644 foo
Если у вас есть доступ к оболочке, и ваш пользователь оболочки владеет файлом (или ваш пользователь может изменить владельца файла (su / sudo /…)), то просто chmod
верните его вручную. В противном случае, если вы можете редактировать скрипт PHP (и PHP запускается как владелец файла), просто отредактируйте его chmod
в файл с желаемыми разрешениями.