GNU/Linux >> Belajar Linux >  >> Linux

Apa perbedaan antara `chattr +i FILE` dan` chmod -w FILE`?

chmod -w file tersedia di semua lingkungan UNIX, namun chattr -i FILE menggunakan atribut file yang diperluas mungkin tidak tersedia di sistem Anda, tergantung pada jenis Sistem File/Distro!

Selain itu, lihat tautan ini untuk poin baik dan buruk menggunakan atribut file yang diperluas.


Dari chattr halaman manual

File dengan atribut 'i' tidak dapat dimodifikasi:tidak dapat dihapus atau diganti namanya, tidak ada tautan yang dapat dibuat ke file ini dan tidak ada data yang dapat ditulis ke file tersebut. Hanya pengguna super atau proses yang memiliki kemampuan CAP_LINUX_IMMUTABLE yang dapat menyetel atau menghapus atribut ini.

Seperti yang Anda lihat, chattr lebih kuat dari chmod . chmod -w hanya menghapus 'write ' izin untuk konten file. Dan juga Anda perlu menggunakan chattr +i untuk memproteksi/mengunci file maka chattr -i untuk membuka kunci


chattr +i menyetel immutable atribut sistem file pada file. Ini berbeda dari aturan kontrol akses. Aturan kontrol akses berlaku untuk atribut file, sedangkan immutable adalah sistem file diperpanjang atribut file, yang mungkin tidak tersedia di semua sistem file. Hanya pengguna dengan hak akses root yang dapat menyetel atau membatalkan setelan atribut yang diperluas ini. Tak seorang pun, bahkan pemilik atau pengguna dengan izin menulis, dapat menulis ke dalam file tersebut. Pengguna tanpa izin file tulis dapat membuat tautan keras ke file biasa, tetapi jika file ditandai sebagai tidak dapat diubah, pengguna tidak dapat membuat tautan keras, karena sistem file tidak dapat mengubah jumlah referensi ke file yang tidak dapat diubah ini.

chattr +i berguna untuk perlindungan dari penghapusan yang tidak disengaja oleh root. Juga file yang tidak dapat diubah tidak dapat diganti namanya atau dipindahkan dari satu direktori ke direktori lain.


Linux
  1. Apa perbedaan antara strtok_r dan strtok_s di C?

  2. Apa perbedaan antara fsync dan syncfs?

  3. Apa perbedaan antara lsof dan netstat di linux?

  1. Apa perbedaan antara adduser dan useradd?

  2. Apa perbedaan antara ls dan l?

  3. Apa perbedaan antara rdesktop dan xfreerdp?

  1. Apa perbedaan antara InnoDB dan MyISAM?

  2. Apa perbedaan antara `fallocate --dig-holes` dan `fallocate --punch-hole` di Linux?

  3. Apa perbedaan antara $(CC) dan $CC?