Bagaimana pengguna root membuat file / direktori tidak bisa ditulis untuk dirinya sendiri?

8

Pengguna normal dapat chmodmembuat file menjadi tidak dapat diakses seperti

evgeniy@ubuntu:~$ touch test
evgeniy@ubuntu:~$ chmod 444 test
evgeniy@ubuntu:~$ echo 'test' > test
bash: test: Permission denied

Bisakah sesuatu seperti ini disimulasikan untuk pengguna root?

dolzenko
sumber
Saya harap tidak, atau saya yakin akan melakukannya.
Mark Allen
Silakan dan periksa jawaban @ danlefree;)
dolzenko

Jawaban:

13

chattr +i *akan mencegah bahkan akun root dari membuat perubahan pada file di direktori (sampai chattr -i *dijalankan).

Per komentar Slartibartfast, beberapa hal yang harus Anda ketahui tentang chattr dan atribut abadi:

  1. The berubah sedikit akan mencegah file dari dihapus, diganti namanya, terkait dengan, atau ditulis; gunakan lsattruntuk menampilkan atribut dengan cara yang sama seperti lsmenampilkan kepemilikan dan izin
  2. Anda dapat mencegah bit berubah dari tidak disetel (bahkan oleh root) dengan mengubah CAP_LINUX_IMMUTABLEflag - untuk melakukannya Anda ingin menginstal libcap , tetapi itu hanya peringatan yang adil bahwa kapabilitas didokumentasikan dengan buruk (paling-paling)
danlefree
sumber
Perlu disebutkan untuk tujuan membantu orang menemukan jawaban ini bahwa chattr + i membuat file tidak dapat diubah.
Slartibartfast
5

SELinux dapat digunakan untuk menandai file sebagai tidak dapat ditulis oleh root di domain saat ini dan peran pengguna.

Ignacio Vazquez-Abrams
sumber
Memberikan contoh akan sangat bagus
Jonathan