Dica importante para administradores.
Você deve ser um usuário root para configurar chflags.
Use o comando chflags da seguinte forma:
# chflags schg /etc/resolv.conf
Tente remover ou modificar arquivo :
# rm -f /etc/resolv.conf
Você verá uma saída:
rm: /etc/resolv.conf: Operation not permitted
Agora o usuário root não tem permissão para remover ou modificar o arquivo resolv.conf .
Isso é útil para proteger arquivos importantes como /etc/passwd, /etc/master.passwd e etc... Ou mesmo o /etc/resolv.conf que teima em ser modificado a cada boot .
como saber se o arquivo possui o chflags ligado ou desligado
# ls -lo /etc/resolv.conf
Você verá uma saída:
-rw-r--r-- 1 root wheel schg,uarch 65 May 29 12:30 /etc/resolv.conf
Limpar o chflags :
# chflags noschg /etc/resolv.conf
Agora você pode remover ou modificar o arquivo.
Mais opções :
arch: definir a flag arquivado
nodump: definir a flag nodump
sappnd: definir a flag somente append do sistema
schg: definir a flag imutável do sistema
sunlnk: definir a flag undeletable do sistema
uappnd: definir a flag somente append do usuário
uchg: definir a flag imutável do usuário
uunlnk: definir a flag undeletable do usuário
Há também a opção de securelevel nativa no Kernel FreeBSD, que está nas referências - muito bem escrita pelo site bsdinfo.
Referências:
http://www.bsdinfo.com.br/2012/05/04/melhorando-a-seguranca-no-freebsd-com-securelevel-chflags/
http://www.cyberciti.biz/tips/howto-write-protect-file-with-immutable-bit.html