Kesalahan `chattr + i` pada NFS

8

Saya mencoba untuk mengamankan authorized_keysfile saya agar tidak dimodifikasi. Saya menjalankan ini:

[root@localhost]# chattr +i authorized_keys 
chattr: Inappropriate ioctl for device while reading flags on authorized_keys

Saya pikir itu mungkin karena sistem file:

[root@localhost]# stat -f -c %T /home/user/
nfs

ada cara untuk memodifikasinya dengan chattr?

mavillan
sumber

Jawaban:

8

NFS tidak memiliki konsep file yang tidak dapat diubah, itulah sebabnya Anda mendapatkan kesalahan. Saya sarankan Anda hanya menghapus akses tulis dari semua orang, yang mungkin cukup dekat untuk keperluan Anda.

$ > foo
$ chmod a-w foo
$ echo bar > foo
bash: foo: Permission denied

Perbedaan utama antara menghapus bit tulis untuk semua pengguna alih-alih menggunakan atribut tidak berubah:

  • Atribut tetap harus disetel oleh root, sedangkan chmod dapat diubah oleh pengguna yang memiliki file;
  • Atribut yang tidak dapat diubah menghapus kemampuan untuk menghapus file tanpa menghapus atribut yang tidak dapat diubah, yang tidak menghapus bit tulis (meskipun Anda dapat mengubah izin direktori untuk melarang modifikasi, jika itu dapat diterima).

Jika salah satu dari hal-hal ini penting bagi Anda ketika berhadapan dengan otor_keys, Anda mungkin memiliki masalah yang lebih mendasar dengan model keamanan Anda.

Chris Down
sumber
2

Benar ini tidak akan berfungsi pada NFS.

Namun, pada server tempat direktori ini diekspor coba jalankan perintah chattr Anda. Dengan beberapa gotcha

Anda mungkin perlu mengaktifkan ACL:

$ mount -o remount,acl /

(Untuk membuat perubahan itu edit permanen / etc / fstab Anda)

SELinux dapat menghalangi Anda:

Untuk mengetahui dengan pasti:

$ ls -Z
daodennis
sumber