Запретить пользователю перезаписывать файлы и каталоги

Помогите мне узнать, возможен ли этот сценарий с использованием Linux. Я хочу защитить доступ к системному пути под названием "/mnt/data".

Ограничения системных пользователей:

  • 'daemon_user': доступ для чтения / записи.
  • 'read_user': только чтение.
  • 'appender_user': добавлять файлы, но НЕ удалять или перезаписывать существующие.

'daemon_user' постоянно создает новые файлы, поэтому ограничение «не удалять / перезаписывать» должно применяться и к созданным новым файлам .

Примечание: Изначально я отказываюсь от использования chattr, поскольку это применимо ко всем пользователям, включая root. Мне не нужен такой уровень ограничений.

2
задан 8 June 2020 в 17:40
1 ответ

Вы можете реализовать daemon_user и read_user с помощью расширенных ACL POSIX (getfacl, setfacl, chmod, chown). Для appender_user вы можете использовать атрибут добавления (chattr + имя файла, lsattr), но это ограничит всех пользователей.

Еще один способ реализовать это — использовать службу, которая ограничивает доступ к этим файлам. Например. вы делитесь файлами с samba и используете Windows ACL с атрибутом только добавления.

Еще один способ реализовать appender_user — создать целевую политику SELinux. Посмотрите, как был реализован httpd_sys_ra_content_t.

1
ответ дан 8 June 2020 в 14:57

Теги

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