На этот вопрос уже есть ответ здесь:
У меня есть этот файл:
$ ls -l store.sh
-rwxr-xr-x 1 root apache 117 Feb 5 2016 store.sh
$ id
uid=48(apache) gid=48(apache) groups=48(apache)
Я думаю, что у меня нет разрешения на редактирование этого файла, но можно было удалить и заменить файл. Как это может быть? Может кто-нибудь объяснить такое поведение?
Вы не должны писать, что полномочия на файле, чтобы удалить или переместиться (переименовывают) его. Вы должны записать полномочия на каталоге, содержащем файл, потому что удаление или переименование не являются операциями на файле, но операциями в списке каталога файлов. Таким образом, в этом случае каталог этого файла, вероятно, имеет доступ для записи для apache
пользователь или apache
группа.
Удаление файла не изменяет рассматриваемый файл скорее, это изменяет родительский каталог, поскольку это удаляет файл из списка каталогов. Это также означает, что у Вас есть полные полномочия к родительскому каталогу файла