Вот такая нехитрая задача возникающая перед администраторами: писать можно, удалять нельзя и всё это ограничение применить только к конкретному пользователю. Решается она просто: через 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