[freebsd] zfs, nfs4 acls, запрет удаления.
Коллеги! А на 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@ всем запрещено файл удалять. Тем не менее, кому дано право на запись (в примере хозяину) спокойно может удалить этот файл. Оно не работает или что-то неправильно делаю я? Как разрешить запись, но запретить удаление? Система 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 Что не так? И как правильно?
[freebsd] Re: [freebsd] zfs, nfs4 acls, запрет удаления.
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 и смежными опциями.
Re: [freebsd] zfs, nfs4 acls, запрет удаления.
Hello! On Fri, 30 Aug 2013 at 15:16:09 (+0400), Eugene V. Boontseff wrote: Как разрешить запись, но запретить удаление? Если нужно запретить только удаление и вообще всем, то почему бы не использовать флаг sunlnk у chflags? -- George L. Yermulnik [YZ-RIPE]
Re: [freebsd] Re: [freebsd] zfs, nfs4 acls, запрет удаления.
30.08.2013 15:38, Anton Sayetsky пишет: 30 августа 2013 г., 14:16 пользователь Eugene V. Boontseff eug...@wdc.spb.ru написал: ЕМНИП удаление файла в UNIX (вне зависимости от ФС) - суть операция над каталогом, в котором файл содержится. Проверяется легко: sudo touch /home/me/file sudo chmod 400 /home/me/file rm -f file - данная операция проходит успешно. В man setfacl для nfsv4acls есть два запрещения удаления: d delete_child D delete я предположил d выставляется на каталог и запрещает удаление внутри каталога, а D защищает от удаления сами файлы и каталоги, на которых они определены. Но нет. Вы правы. Если у родительского каталоге есть D, внутри него файлы и каталоги защищены от удаления. К чему d не понятно вообще. Потому как если она есть у родительского каталога это не защищает потомков от удаления.. Eugene
Re: [freebsd] zfs, nfs4 acls, запрет удаления.
30.08.2013 16:35, George L. Yermulnik пишет: Hello! On Fri, 30 Aug 2013 at 15:16:09 (+0400), Eugene V. Boontseff wrote: Как разрешить запись, но запретить удаление? Если нужно запретить только удаление и вообще всем, то почему бы не использовать флаг sunlnk у chflags? Пользовался. Но это не совсем то, что нужно. Во-первых, это действительно для всех. А нужно запретить в каталоге, который является корнем самбовской шары, удаление подкаталогов и файлов, но разрешить все это ниже для определенных групп пользователей. Флаги не наследуются, так что их приходится отдельно выставлять на всё вновь созданное в корне шары. Вообщем, разобрался немного. Если на корень шары дать для какой-нибудь группы права на запись с наследованием и запрет на удаление без наследования, то для членов этой группы так и будет: они смогут в корне шары создавать каталоги и файлы, но не смогут их удалить потом. А в подкаталогах удалять смогут. -- Eugene
Re: [freebsd] zfs, nfs4 acls, запрет удаления.
On Fri, Aug 30, 2013 at 05:16:25PM +0400, Eugene V. Boontseff wrote: 30.08.2013 16:35, George L. Yermulnik пишет: Hello! On Fri, 30 Aug 2013 at 15:16:09 (+0400), Eugene V. Boontseff wrote: Как разрешить запись, но запретить удаление? Если нужно запретить только удаление и вообще всем, то почему бы не использовать флаг sunlnk у chflags? Пользовался. Но это не совсем то, что нужно. Во-первых, это действительно для всех. А нужно запретить в каталоге, который является корнем самбовской шары, удаление подкаталогов и файлов, но разрешить все это ниже для определенных групп пользователей. Флаги не наследуются, так что их приходится отдельно выставлять на всё вновь созданное в корне шары. Вообщем, разобрался немного. Если на корень шары дать для какой-нибудь группы права на запись с наследованием и запрет на удаление без наследования, то для членов этой группы так и будет: они смогут в корне шары создавать каталоги и файлы, но не смогут их удалить потом. А в подкаталогах удалять смогут. Обычно наследование понимается как прописывание данного acl во вновь создаваемый объект. На уже существующие влияние это не оказывает.
Re: [freebsd] zfs, nfs4 acls, запрет удаления.
On Fri, Aug 30, 2013 at 05:24:30PM +0400, Slawa Olhovchenkov wrote: On Fri, Aug 30, 2013 at 05:16:25PM +0400, Eugene V. Boontseff wrote: 30.08.2013 16:35, George L. Yermulnik пишет: Hello! On Fri, 30 Aug 2013 at 15:16:09 (+0400), Eugene V. Boontseff wrote: Как разрешить запись, но запретить удаление? Если нужно запретить только удаление и вообще всем, то почему бы не использовать флаг sunlnk у chflags? Пользовался. Но это не совсем то, что нужно. Во-первых, это действительно для всех. А нужно запретить в каталоге, который является корнем самбовской шары, удаление подкаталогов и файлов, но разрешить все это ниже для определенных групп пользователей. Флаги не наследуются, так что их приходится отдельно выставлять на всё вновь созданное в корне шары. Вообщем, разобрался немного. Если на корень шары дать для какой-нибудь группы права на запись с наследованием и запрет на удаление без наследования, то для членов этой группы так и будет: они смогут в корне шары создавать каталоги и файлы, но не смогут их удалить потом. А в подкаталогах удалять смогут. Обычно наследование понимается как прописывание данного acl во вновь создаваемый объект. На уже существующие влияние это не оказывает. Ах да, создаваемы каталог должен так же наследовать и атрибут для наследования.
Re: [freebsd] zfs, nfs4 acls, запрет удаления.
30.08.2013 17:24, Slawa Olhovchenkov пишет: . Если на корень шары дать для какой-нибудь группы права на запись с наследованием и запрет на удаление без наследования, то для членов этой группы так и будет: они смогут в корне шары создавать каталоги и файлы, но не смогут их удалить потом. А в подкаталогах удалять смогут. Обычно наследование понимается как прописывание данного acl во вновь создаваемый объект. На уже существующие влияние это не оказывает. Совершенно с тобой согласен. Нечеткость формулировок присутствует. Имелось в виду вот что: setfacl -m g:somegroup:rwx:fd:allow somedir присвоит права rxw самому somedir и будет наследоваться всеми потомками, будь они файлы или каталоги. (aclinherit=passthrough). а setfacl -m g:somegroup:D::deny somedir присвоит запрет на удаление самому somedir, но это поведение не будет наследоваться потомками. -- Eugene