Не работает правило ACL на запись
Изучаю ACL, соответственно создал файл в определённом каталоге и стал экспериментировать с правилами с помощью setfacl. Заметил такую вещь, что если пользователь (допустим user1) не владелец файла и не root, то даже если ему выдали соответствующие права на запись через setfacl, то user1 данный файл всё равно редактировать не сможет.
Далее продемонстрирую это.
Создаю файла file в директории /tmp и проверяю права на файл file и каталог /tmp и для чистоты эксперимента удаляю права на чтение этого файла всем кроме владельца:
jonni@Debian:/tmp$ /tmp jonni@Debian:/tmp$ touch file jonni@Debian:/tmp$ chmod go-r file jonni@Debian:/tmp$ getfacl file # file: file # owner: jonni # group: jonni user::rw- group::--- other::--- jonni@Debian:/tmp$ getfacl /tmp getfacl: Removing leading '/' from absolute path names # file: tmp # owner: root # group: root # flags: --t user::rwx group::rwx other::rwxДалее для пользователя user1 (пользователь user1 состоит только в группе user1, которая создалась по умолчанию при создании данного пользователя с помощью утилиты useradd) пропишу права read, write, execute на файл file:
jonni@Debian:/tmp$ setfacl -m u:user1:rwx file jonni@Debian:/tmp$ getfacl file # file: file # owner: jonni # group: jonni user::rw- user:user1:rwx group::--- mask::rwx other::---Проверим, что владелец файл может совершать операции read, write, но не execute:
jonni@Debian:/tmp$ echo "echo inform">>file jonni@Debian:/tmp$ cat file echo inform jonni@Debian:/tmp$ ./file -bash: ./file: Permission deniedВсё, как и следовало ожидать, работает корректно.
А вот в случае user1 начинаются проблемы. Проверим, что все операции выполняются корректно:
jonni@Debian:/tmp$ su user1 Password: user1@Debian:/tmp$ cat file echo inform user1@Debian:/tmp$ ./file inform user1@Debian:/tmp$ echo text>>file bash: file: Permission denied
В данном случае все операции, кроме write выполнились корректно. Ума не приложу почему нет возможности редактировать файл за пользователя user1. Прошу подсказать по этому вопросу. Спасибо.