Действительно ли возможно запретить удаление файлов, но позволить создание их для определенного каталога в Linux?

У меня есть приложение, которое создает временные файлы и быстро удаляет их. Но я хотел бы сохранить те файлы, есть ли способ сделать это в Linux?

2
задан 14.06.2010, 07:40

2 ответа

Да, Вы можете с возможностями для каждого процесса в Улучшенном Безопасностью Linux, который был частью Ubuntu в течение прошлых двух лет. Будьте подготовлены к крутой кривой обучения.

1
ответ дан 11.12.2019, 22:37

Я нашел достаточно хорошее решение с использованием липкого бита и inotify объединенным. Идея проста, если мы установим липкий бит на каталоге, то пользователи не смогут удалить файлы, принадлежавшие другим пользователям, но все еще смогут записать в них, если полномочия файла установили правильно.

Так, мы делаем следующее:

$ chmod a+t dir
$ while inotifywait -e close_write dir; do chmod a+rwx dir/*; sudo chown root:root dir/*; done

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

Таким образом в конце мы заканчиваем с перезаписываемыми файлами, которые не может удалить приложение. Точно, в чем я нуждался.

1
ответ дан 11.12.2019, 22:37

Теги

Похожие вопросы