Запрещая некоторое использование ACLs вне основной системы разрешения, a chmod 000
может быть отменен без дополнительных полномочий. Биты полномочий управляют доступом к содержанию файла, но они не управляют доступом для записи к самим битам полномочий. Как правило, у корня и владельца файла всегда есть доступ для записи к битам полномочий. Так, необходимо смочь 'восстановить' файл, пока можно принять меры как владелец файла.
$ 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
файл к желаемым полномочиям.
Если можно исправить PHP, который создал файл во-первых, возможно, Вы могли заставить PHP сбросить полномочия к тому, что Вы хотите...