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?
chmod
tidak dapat menulis ke file.
touch somefile; chmod 0000 somefile; chmod 0644 somefile
sebagai pengguna biasa.
CAP_DAC_OVERRIDE
dapat 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.