Вот такая нехитрая задача возникающая перед администраторами: писать можно, удалять нельзя и всё это ограничение применить только к конкретному пользователю. Решается она просто: через ACL. Причём нужно иметь ввиду, что бы запретить удаление, нужно явно это указать (если у пользователя отсутствуют явные запреты, то он всё равно сможет их “нарушить”).
Стандартные права выглядят так: rwxpdDaARWcCos, где буквы dD означают разрешение на удаление (d – удаление файла, D – удаление файла или папки внутри директории).
И так, для юзера skeletor запретим удаление:
# chmod -R A+user:skeletor:dD:fd:deny
Проверяем:
# ls -dV test drwxr-xr-x+ 4 root root 5 Jun 14 07:05 test user:skif:rwxpdDaARWcCos:fd-----:allow user:skeletor:----dD--------:fd-----:deny user:skeletor:rwxpdDaARWcCos:fd-----:allow owner@:rwxp-DaARWcCos:-------:allow group@:r-x---a-R-c--s:-------:allow everyone@:r-x---a-R-c--s:-------:allow skeletor@v-4-kt11-d4190-208:~/test$ id uid=1003(skeletor) gid=0(root) skeletor@v-4-kt11-d4190-208:~/test$ ls 1 2 test2 skeletor@v-4-kt11-d4190-208:~/test$ touch qw skeletor@v-4-kt11-d4190-208:~/test$ ls 1 2 qw test2 skeletor@v-4-kt11-d4190-208:~/test$ rm qw rm: qw not removed: Permission denied skeletor@v-4-kt11-d4190-208:~/test$ pwd /export/home/skeletor/test
4 коментарі “Запрет удаления файлов в Solaris”
Про ZFS:
https://docs.oracle.com/cd/E53394_01/html/E54801/ghbzj.html#SVZFSghbwu
Спасибо. Уже описано здесь http://skeletor.org.ua/?p=2760
Более того, мне нужно не просто запретить удаление, а запретить удаление для конкретного пользователя.
chatta -i test for Linux
http://skeletor.org.ua/?p=2760