30 августа 2013 г., 14:16 пользователь Eugene V. Boontseff
<eug...@wdc.spb.ru> написал:
> Коллеги!
>
> А на zfs acls запрет на удаления не работает?
>
> Делаю так:
> setfacl -m everyone@:rwxpDAWCo::deny file.txt
> eugene@s [/data/buffer>  getfacl file.txt
> # file: file.txt
> # owner: eugene
> # group: wheel
>             owner@:--------------:------:deny
>             owner@:rwxp---A-W-Co-:------:allow
>             group@:-w-p----------:------:deny
>             group@:r-x---a-R-c--s:------:allow
>          everyone@:rwxpD--A-W-Co-:------:deny
>          everyone@:------a-R-c--s:------:allow
> Т.е. у хозяина на удаление право удалять в allow не прописано, а через
> everyone@ всем запрещено файл удалять.
> Тем не менее, кому дано право на запись (в примере хозяину) спокойно может
> удалить этот файл.
> Оно не работает или что-то неправильно делаю я?
> Как разрешить запись, но запретить удаление?
ЕМНИП удаление файла в UNIX (вне зависимости от ФС) - суть операция
над каталогом, в котором файл содержится. Проверяется легко: sudo
touch /home/me/file && sudo chmod 400 /home/me/file && rm -f file -
данная операция проходит успешно.

>
> Система 8.3-RELEASE-p5, zfs v28.
>
> И еще один вопрос: как сделать на каталог одни права , а для наследования
> другие?
> Например, хочу для корневого каталога определить права только rx, а для
> потомков rxwp.
>
> Делаю так:
> либо одной командой setfacl -m g:eugene:rxwp:fdi:allow,g:eugene:rx:fdn:allow
> ttt
> либо двумя последовательно
> setfacl -m g:eugene:rxwp:fdi:allow ttt
> setfacl -m g:eugene:rx:fdn:allow ttt
>
> результат одинаковый - применяется только последняя команда:
>
> getfacl ttt
> # file: ttt
> # owner: root
> # group: wheel
>       group:eugene:r-x-----------:fd-n--:allow
>             owner@:--------------:fd----:deny
>             owner@:rwxp---A-W-Co-:fd----:allow
>             group@:-w-p----------:fd----:deny
>             group@:r-x---a-R-c--s:fd----:allow
>          everyone@:rwxp---A-W-Co-:fd----:deny
>          everyone@:------a-R-c--s:fd----:allow
>
> Что не так? И как правильно?
Не могу гарантированно утверждать, но возможно стоит поиграться с
aclinherit и смежными опциями.

Ответить