FreeBSD: флаги файлов (chflags)

Помимо обычных юниксовых прав доступа к файлам (srwx) в FreeBSD имеются особые флаги доступа, для повышения уровня защиты файлов (но не каталогов — на них не распространятеся). Основная фишка этих флагов в том, что если они установленны, то даже root не сможет изменить/удалить защищённый файл, тем самым надёжно оберегая нас от скрипт-киддисов, идиотов и тупых линуксойдов)))).

Итак, за всё отвечает команда chflags, по ссылке указан англоязычный ман по сабжу, а если кратко и по-русски, то наиболее интересны следующие флаги:

  • schg — флаг системно-неизменяемого файла (так же есть пользовательски-неизменяемый uchg);
  • sunlnk — флаг системно-неудаляемого файла (так же есть пользовательски-неудаляемый uunlnk).

Пример использования:

chflags schg FILE

После выполнения данной команды даже root не сможет изменить файл. Посмотреть флаги файлов можно командой ls -lo.