LINUX.ORG.RU

Чтобы юзер мог писать новые файлы - он должен иметь права записи для директории, а если есть права записи - то он может удалять файлы в этой директории. Можно попробовать поставить флаг immunitable (chattr +t dir), но тогда скорей всего не сможет их изменять. и это работает тока для ext2(3)fs (вроде)

anonymous
()
Ответ на: комментарий от anonymous

написать kernel module , перехватывающий процедуру удаления.

xnix ★★
()
Ответ на: комментарий от anonymous

> Чтобы юзер мог писать новые файлы - он должен иметь права записи для директории, а если есть права записи - то он может удалять файлы в этой директории.

Что-то мне кажется, что можно попробовать извернуться.

Смотри. Если на каталог поставить sticky-бит, то пользователь сможет уделять только те файлы, которые ему принадлежат (есть вариант, когда он может удалять файлы, в которые может писать, но по-моему, это только для соляриса специфично, не помню).

Если на каталог поставить suid, то владельцем файлов, создаваемых в каталоге, будет владелец каталога.

Тогда, пользователь должен создать файл, имея возможность записи в него (обычная семантика + umask), но из-за s-бита, владельцем станет не он, а из-за t-бита - не сможет его удалить.

Впрочем, я не уверен, что точно так сработает. Хотя, вроде, может получиться.

ivlad ★★★★★
()
Ответ на: комментарий от ivlad

>Если на каталог поставить suid, то владельцем файлов, создаваемых в каталоге, будет владелец каталога.

Откуда дровишки? с sgid на каталог перепутал?

sdio ★★★★★
()
Ответ на: комментарий от sdio

> Откуда дровишки? с sgid на каталог перепутал?

не знаю. почему-то подумалось, что с suid оно так же работает. но не работает, проверил. а жаль. :) хотя, если семантика suid для каталогов ничем не занята, можно попробовать ее использовать. :) только тут уж надо грязными руками в ядро.

ivlad ★★★★★
()

Вероятно, можно придумать selinux-политику, запрещающую удаление обьектов определенного типа, и присваивающую этот тип создаваемым в каталоге файлам.

DonkeyHot ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.