Bagaimana cara membuat file yang bahkan pengguna root tidak bisa menghapusnya?
linux
permissions
files
Kumar
sumber
sumber
Jawaban:
Jawaban sederhana: Anda tidak bisa, root dapat melakukan segalanya.
Anda dapat mengatur atribut "i" dengan chattr (setidaknya jika Anda menggunakan ext {2,3,4}) yang membuat file tidak dapat diubah tetapi root hanya dapat menghapus atribut dan menghapus file.
Lebih kompleks (dan solusi peretasan yang jelek): Masukkan direktori yang Anda inginkan tidak dapat diubah untuk root pada server jauh dan pasang melalui NFS atau SMB. Jika server tidak menawarkan izin tulis yang mengunci akun root lokal. Tentu saja akun root lokal hanya dapat menyalin file secara lokal, unmount hal-hal yang jauh, meletakkan salinan di tempatnya dan mengubahnya.
Anda tidak dapat mengunci root dari menghapus file Anda. Jika Anda tidak dapat mempercayai root Anda untuk menjaga file tetap utuh, Anda mengalami masalah sosial, bukan masalah teknis.
sumber
mv
melakukannya?" (Yang merupakan lelucon lumpuh berdasarkan pada teosofi Kristen, dan lelucon yang mengerikan jika Anda tidak terbiasa dengan bidang)Letakkan di CD-rom! ;)
(ini seharusnya komentar tapi saya tidak bisa berkomentar ...)
sumber
Letakkan file Anda pada sistem file yang hanya baca. Ini mungkin FS jarak jauh di mana root tidak lagi root, CD-ROM atau perangkat yang dapat dilepas yang dapat dilindungi dari penulisan, misalnya kartu SD.
sumber
Dulu saya menulis patch kernel (ke 2.2.ancient) di mana mencoba untuk menghapus file yang disebut SELFDESTRUCT membunuh proses panggilan. Ini dijaga terhadap "rm -rf *" yang tidak disengaja.
sumber
Kamu bisa memakai
chattr +i
untuk membuat file tidak berubah.Tentu saja pengguna yang mengerti dengan akses root masih bisa menggunakan
chattr -i
untuk menghapus atribut yang tidak dapat diubah dan kemudian menghapus file, tetapi mereka dapat membatalkan salah satu dari upaya lain untuk memblokir akses yang tercantum di sini juga.Saya berpendapat bahwa chattr adalah cara Unix yang benar untuk melakukan ini.
sumber