Saya telah menemukan perilaku izin mengejutkan (untuk saya) di FreeBSD. Katakanlah saya beroperasi sebagai pengguna non-root . Saya membuat file, menetapkan izin hanya-baca dan kemudian mencoba menulis ke dalamnya:
$ touch f
$ chmod 400 f
$ ls -l f
-r-------- 1 user wheel f
$ echo a >> t
t: Permission denied.
Sejauh ini baik. Sekarang saya melakukan hal yang sama dengan root dan menulis ke dalam file:
# ls -l f2
-r-------- 1 root wheel f2
# echo a >> f2
# echo $?
0
Apakah itu bug atau perilaku yang dimaksudkan? Dapatkah saya dengan aman berasumsi bahwa ini akan berhasil pada Unix & Linux?
chmodtidak dapat menulis ke file.
touch somefile; chmod 0000 somefile; chmod 0644 somefilesebagai pengguna biasa.
CAP_DAC_OVERRIDEdapat melakukan ini. Pada hampir semua sistem Linux ini berarti root dapat melakukan ini sehingga disengaja. Tidak dapat berbicara untuk bagian FreeBSD tapi saya membayangkan mereka memiliki pengaturan yang sama.