
У меня есть этот файл:
$ 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)
Я думаю, что у меня нет разрешения на редактирование этого файла, но можно было удалить и заменить файл. Как это может быть? Может кто-нибудь объяснить такое поведение?
решение1
Вам не нужны права на запись в файл, чтобы удалить или переместить (переименовать) его. Вам нужны права на запись в каталогсодержащийфайл, потому чтоудаление или переименование не являются операциями над файлом, а операциями над списком файлов каталога. Таким образом, в этом случае каталог этого файла, вероятно, имеет права записи для apache
пользователя или apache
группы.
решение2
Удаление файла не изменяет сам файл, а изменяет родительский каталог, поскольку удаляет файл из списка каталогов. Это также означает, что у вас есть полные права на родительский каталог файла