Using chflags in FreeNAS
I was trying to protect a file in a jail on my FreeNAS server but the chmod +t
tag wasn't cutting it for me. I wanted to use flags to protect the file, a common practice in FreeBSD and other POSIX systems.
I tried running chflags schg foo.bar
, but the terminal spat out “Operation not permitted.” I was puzzled. There are multiple instances where chflags support was added to ZFS many versions ago so I didn't understand why I couldn't use the feature.
I found out that the default FreeNAS jails template creates jails without support for changing flags. I had to go into the web interface and open up my jail instance, open the Advanced Settings, and add allow.chflags=1
to the Sysctls field.
Make sure you have a comma separating any other existing configuration and that you restart the jail for the changes to take effect.
Here's my current Sysctls field:
allow.raw_sockets=true,allow.chflags=1
I'm running a jail version FreeBSD 10.3-STABLE #0 r295946+21897e6695f(HEAD) on FreeNAS-9.10.2-U6 (561f0d7a1).