У меня есть требование записать файлы в файловую систему Linux, которые впоследствии не могут быть перезаписаны, добавлены, обновлены или удалены. Не судом, корнем или кем-либо еще. Я пытаюсь выполнить требования регламента финансовых услуг по ведению учета, FINRA 17A-4, который в основном требует, чтобы электронные документы записывались на устройства WORM (один раз напиши, прочитай много). Я бы очень хотел избежать использования DVD-дисков или дорогих устройств EMC Centera.
Существует ли файловая система Linux или SELinux может поддерживать требование, чтобы файлы были полностью неизменными сразу (или, по крайней мере, вскоре) после записи? Или кто-нибудь знает, как я могу применить это в существующей файловой системе, используя разрешения Linux и т. Д.?
Я понимаю, что я могу установить разрешения только для чтения и неизменный атрибут. Но, конечно, я ожидаю, что пользователь root сможет их сбросить.
Я рассмотрел возможность хранения данных на небольших томах, которые были размонтированы, а затем перемонтированы только для чтения, но затем я думаю, что root все еще может размонтировать и перемонтировать как доступный для записи снова.
Я ищу какие-нибудь умные идеи и наихудший сценарий, я готов сделать небольшое кодирование, чтобы «улучшить» существующую файловую систему, чтобы обеспечить это. Предполагая, что есть файловая система, которая является хорошей отправной точкой. И поставьте на место тщательно настроенный сервер Linux, который будет выполнять роль сетевого устройства хранения данных, не делая ничего другого.
После всего этого шифрование файлов также будет полезно!
chattr -i filename
тогда rmОтветы:
Вы можете сделать это с помощью OpenAFS и томов только для чтения. Однако для его работы необходимо установить множество инфраструктур, которые могут не соответствовать требованиям.
http://www.openafs.org/
По существу, имеется записываемый том и одна или несколько копий тома, доступных только для чтения. Пока вы не освободите доступный для записи том, копии, доступные только для чтения, не могут быть изменены клиентами. Выпуск тома требует прав администратора.
Кажется, что любое решение потребует либо специализированного оборудования, либо сетевой файловой системы, которая дублирует семантику специализированного оборудования.
источник
Кажется, что нет способа сделать это без написания пользовательской файловой системы / кода ядра.
Жизнеспособным решением, по-видимому, является использование Amazon Glacier с возможностью архивного хранения WORM. Согласно официальному блогу AWS по адресу: https://aws.amazon.com/blogs/aws/glacier-vault-lock/
Для меня это обеспечивает именно то, что нужно без затрат на оборудование NetApp или EMC, и при этом соответствует требованиям к хранению записей.
источник
Если вам просто нужен доступ к файлам из системы, в которой пользователи не могут их перезаписать, вы можете подключить удаленный том, на который у вас нет разрешения на запись. Самый простой способ сделать это - смонтировать общий ресурс samba / cifs только для чтения.
В противном случае, если вам нужен способ, позволяющий пользователям записывать новые файлы (которые нельзя перезаписать или изменить), решение заключается в подключении пути FTP с помощью FUSE curlftpfs.
Вы можете установить каталог proftpd с помощью следующих директив:
Таким образом, новые файлы могут храниться в смонтированном каталоге, но их нельзя больше изменять или удалять.
ссылки: CurlFtpFS , ProFTPD
источник
Это вариант проблемы « Infalible backup », и единственный способ ее решения - использование нескольких удаленных файловых систем-червей, которые используют и совместно используют контрольные суммы и не имеют общего физического или административного доступа. Это гарантирует, что все будет записано один раз, продублировано, проверено на целостность, а в случае стирания, изменения или повреждения одного блока может быть восстановлено.
Plan9 или его производные могут включать все необходимые функции. Смотри Plan9 и Venti
источник