chmod: menukar kebenaran '***': Operasi tidak dibenarkan
Chmod Changing Permissions
Pindah dari: https://www.cnblogs.com/cpl9412290130/p/11592803.html
1. Penerangan masalah
Seperti yang kita semua ketahui, dalam sistem Linux, autoriti terbesar adalah root, tetapi semua operasi yang melibatkan pengubahsuaian autoriti utama dari sistem itu sendiri memerlukan root authority untuk beroperasi. Tetapi kadang-kadang ada perkara yang tidak dapat dilakukan oleh root.
seperti:
chmod: changing permissions of 'authorized_keys': Operation not permitted
Kedua, latar belakang masalah
Kadang-kadang anda perlu mengubah kebenaran fail, tetapi walaupun anda menggunakan perintah chmod di bawah root, ia mungkin tidak berjaya diubah, dan kadang-kadang anda akan menghadapi masalah Operasi yang tidak dibenarkan.
Secara amnya, kebenaran pengguna root di Linux adalah yang terbesar (semakin rendah nilai UID di Linux, semakin besar kebenarannya, anda dapat melihat bahawa nilai minimum adalah 0, yang merupakan pengguna root)
Namun, apabila menggunakan chmod untuk mengubah kebenaran fail, bahkan di bawah pengguna root, anda akan menghadapi masalah operasi yang tidak dibenarkan.
Sebenarnya, pelaksanaan asas chmod adalah chattr Perintah, fungsi menggunakan perintah ini lebih kuat, dan bahkan dapat mengunci fail, bahkan pengguna root tidak dapat mengoperasikan file ini.
Ketiga, penyelesaiannya
lsattr Boleh digunakan untuk melihat atribut fail:
lsattr filename
Sekiranya terdapat atribut i atau file, atau salah satunya
boleh digunakan chattr Alih keluar atribut ini:
chattr -ia filename
Pada masa ini, gunakan perintah chmod sekali lagi untuk menukar kebenaran fail.
Metode ini juga berlaku untuk direktori file, tetapi direktori file tidak merespons ketika menggunakan perintah lsattr untuk melihat atribut, tetapi setelah menghapus atribut ia menggunakan perintah chattr, Anda dapat berhasil menggunakan chmod untuk mengubah izin.
Sekiranya anda ingin memulihkan atribut ia, gunakan:
chattr +ia filename
Hanya ~