Saya ingin mengizinkan pengguna untuk chmod file yang dimiliki oleh root atau beberapa pengguna yang bukan diri mereka sendiri. Saya telah chmod'ed file ke 777 dan saya mendapatkan "operasi tidak diizinkan". Saya telah menambahkan pengguna ke grup file dan mendapatkan yang sama. Mengapa pengguna tidak dapat chmod file mereka memiliki akses tulis?
permissions
ashleysmithgpu
sumber
sumber
sudo
: linux.die.net/man/8/sudo & linux.die.net/man/5/sudoersJawaban:
Untuk hak akses normal, ini adalah keputusan desain. Anda membutuhkan richacl :
WRITE_ACL
dan mungkinWRITE_OWNER
.sumber
Izin Unix dirancang agar sederhana. Anda memerlukan izin baca untuk membaca dari file, izin menulis untuk menulis ke file, dan izin eksekusi untuk mengeksekusi file. Anda perlu memiliki file untuk memodifikasi metadata¹ nya.
Mengizinkan pengguna yang dapat membaca file untuk memberi orang lain izin baca, atau mengizinkan pengguna yang bisa menulis file untuk memberi orang lain izin menulis, tidak akan banyak mengubah model keamanan. Itu karena izin unix bersifat diskresioner: pengguna yang dapat membaca file dapat mengekspos kontennya ke pengguna lain, bahkan jika pengguna lain ini tidak akan dapat membaca file (dan juga untuk menulis, pengguna dapat bertindak sebagai proxy dan tulis atas nama orang lain).
Di sisi lain, mengizinkan pengguna untuk memberikan izin yang tidak dimilikinya akan sepenuhnya menghancurkan sistem izin: pengguna dapat memberikan semua izin untuk dirinya sendiri.
Sangat jarang perlu mengubah izin file yang bukan milik Anda. Biasanya Anda harus mengatur agar file memiliki izin yang tepat segera setelah dibuat. Jika Anda benar-benar membutuhkannya, Anda dapat memberikan
sudo chmod
hak kepada pengguna untuk mode tertentu dan file tertentu (misjoe: ALL = (ALL) chmod g+r /path/to/file
).¹ Kecuali waktu akses dan modifikasi, yang khusus karena membaca atau menulis ke file juga mengaturnya.
sumber