Saya memiliki persyaratan untuk menulis file ke sistem file Linux yang tidak dapat ditimpa, ditambahkan ke, diperbarui dengan cara apa pun, atau dihapus. Bukan oleh sudo-er, root, atau siapa pun. Saya berusaha memenuhi persyaratan peraturan layanan keuangan untuk pencatatan, FINRA 17A-4, yang pada dasarnya mengharuskan dokumen elektronik ditulis ke perangkat WORM (write once, read many). Saya ingin sekali menghindari menggunakan DVD atau perangkat EMC Centera yang mahal.
Apakah ada sistem file Linux, atau bisakah SELinux mendukung persyaratan agar file dibuat lengkap dengan segera (atau setidaknya segera) setelah menulis? Atau adakah yang mengetahui cara saya bisa menegakkan ini pada sistem file yang ada menggunakan izin Linux, dll?
Saya mengerti bahwa saya dapat mengatur izin hanya baca, dan atribut yang tidak dapat diubah. Tapi tentu saja saya berharap bahwa pengguna root akan dapat menghapusnya.
Saya mempertimbangkan untuk menyimpan data ke volume kecil yang tidak di-mount dan kemudian di-remount hanya-baca, tetapi kemudian saya berpikir bahwa root masih dapat meng-unmount dan remount sebagai dapat ditulis kembali.
Saya mencari ide-ide cerdas, dan skenario terburuk Saya bersedia melakukan sedikit pengkodean untuk 'meningkatkan' sistem file yang ada untuk menyediakan ini. Dengan asumsi ada sistem file yang merupakan titik awal yang baik. Dan menempatkan server Linux yang dikonfigurasi dengan hati-hati untuk bertindak sebagai perangkat penyimpanan jaringan jenis ini, tidak melakukan apa pun.
Setelah semua itu, enkripsi pada file akan bermanfaat juga!
chattr -i filename
lalu rmJawaban:
Anda dapat melakukan ini dengan OpenAFS dan volume read-only. Banyak infrastruktur yang harus diinstal untuk membuatnya berfungsi namun mungkin tidak memenuhi persyaratan.
http://www.openafs.org/
Pada dasarnya, ada volume yang dapat ditulis dan satu atau lebih salinan read-only dari volume. Sampai Anda merilis volume yang dapat ditulisi, salinan read-only tidak dapat diubah kepada klien. Melepaskan volume membutuhkan hak admin.
Sepertinya solusi apa pun akan memerlukan perangkat keras khusus atau sistem file jaringan yang menduplikasi semantik perangkat keras khusus.
sumber
Tampaknya tidak ada cara untuk melakukan ini tanpa menulis sistem file kustom / kode kernel.
Solusi yang layak tampaknya menggunakan Amazon Glacier dengan opsi penyimpanan arsip WORM. Menurut Blog Resmi AWS di: https://aws.amazon.com/blogs/aws/glacier-vault-lock/
Bagi saya, ini memberikan apa yang dibutuhkan tanpa biaya NetApp atau perangkat keras EMC, sementara muncul untuk memenuhi persyaratan penyimpanan catatan.
sumber
Jika Anda hanya perlu mengakses file dari sistem di mana pengguna tidak dapat menimpanya, Anda dapat memasang volume jarak jauh di mana Anda tidak memiliki izin menulis. Cara termudah untuk melakukan ini adalah dengan me-mount share read-only samba / cifs.
Kalau tidak, jika Anda memerlukan cara untuk memungkinkan pengguna menulis file baru (yang tidak dapat ditimpa atau dimodifikasi) solusinya adalah dengan me-mount path FTP dengan FUSE curlftpfs.
Anda dapat mengatur direktori proftpd Anda dengan arahan ini:
Dengan cara ini, file-file baru dapat disimpan di direktori yang di-mount, tetapi tidak dapat lagi dimodifikasi atau dihapus.
link: CurlFtpFS , proftpd
sumber
Ini adalah variasi pada masalah " Infalible backup " dan satu-satunya cara untuk mengimplementasikannya adalah dengan beberapa sistem file cacing jarak jauh yang menggunakan dan berbagi checksum dan tidak memiliki akses fisik atau administrasi bersama. Ini memastikan semuanya ditulis sekali, digandakan, integritas dapat dibuktikan, dan dalam kasus satu blok dihapus, diubah atau rusak, dapat dipulihkan.
Plan9 atau turunannya mungkin memuji semua fitur yang diperlukan. Lihat Plan9 dan Venti
sumber