Назад | Перейти на главную страницу

linux getfacl показывает правильные разрешения, но пользователь не может удалить файл из командной строки. "Доступ запрещен"

Этот рабочий файл был создан apache

-rw-rw-r--+  1 apache apache   1960 Nov 16  2019 zlz7v5y9.php

При выполнении следующего:

-bash-4.2$ rm zlz7v5y9.php

Я получил:

rm: cannot remove ‘zlz7v5y9.php’: Permission denied

Вот разрешения:

-bash-4.2$ getfacl zlz7v5y9.php
# file: zlz7v5y9.php
# owner: apache
# group: apache
user::rw-
user:tomr:rwx               #effective:rw-
user:subtum:rwx             #effective:rw-
group::rwx                  #effective:rw-
mask::rw-
other::r--

Как ни странно, я МОГУ редактировать файл, но не могу его удалить.

Почему я получаю сообщение «Permission denied» при попытке удалить этот файл?

ОБНОВЛЕНИЕ: повторный ввод команды setfacl для одного пользователя устранил проблему для ОБОИХ пользователей. Видимо система ACL умерла и ее разбудил setfacl? Хотя сейчас он работает правильно, я хотел бы знать, как это произошло в будущем. Кстати, это в системе, которая годами имела одну и ту же конфигурацию ACL, и внезапно она перестала работать без изменений.

ОБНОВЛЕНИЕ № 2: эта проблема продолжает появляться. Мне интересно, проник ли каким-то образом хакер и стал причиной этого. Однако я запускаю tripwire и не вижу никаких подозрительных системных изменений.

Удаление файла основано на разрешении каталога, а не на разрешении файла.

Вы проверяли разрешение каталога (запись)?

Примечание. У вас может быть каталог, в котором вы можете указать, что только владелец файла может его удалить. Это полезно для временных каталогов.

Также проверьте, установлен ли для этого каталога режим «липкого», известного как «ограниченное удаление» (o + t). Если установлен этот режим, только владелец файла может перемещать или удалять файлы в этом каталоге, независимо от разрешений.