Шифрование каталога во FreeBsd при помощи pefs

Страница проекта на github
Качаем последнюю версию, на момент написания статьи это 2011-04-14
fetch https://github.com/downloads/glk/pefs/pefs-2011-04-14.tar.gz
tar -xvf pefs-2011-04-14.tar.gz
cd pefs-2011-04-14
make

Ну что же, как обычно получаем тупую ошибку. Опять разрабы не могут всё сделать как надо
===> sys/modules/pefs (all)
"Makefile", line 11: Malformed conditional (${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64")
"Makefile", line 14: if-less endif
make: fatal errors encountered -- cannot continue
*** Error code 1

Открываем sys/modules/pefs/Makefile, ищем там вот эти строки
.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
SRCS+=  pefs_aesni.c
CFLAGS+= -DPEFS_AESNI
.endif

И делаем из нее вот это
#.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
SRCS+=  pefs_aesni.c
CFLAGS+= -DPEFS_AESNI
#.endif

Ну теперь-то всё должно собраться нормально
make install clean
rehash


Когда pefs установлен, можно шифровать каталог.
Для начала создадим его
mkdir /secret
pefs mount /secret /secret
pefs addkey /secret

Вводим пароль (желательно подлиннее)
Шифрованный каталог создан, теперь можно проверить его работу.
Создаем файл
echo 'test' > /secret/file.txt

Проверяем его
cat /secret/file.txt

Теперь размонтируем каталог
pefs unmount /secret

Снова проверим содержимое файла
cat /secret/file.txt

В ответ получаем cat: /secret/file.txt: No such file or directory
Тоесть, не примонтировав каталог и не зная пароля невозможно получить содержимое шифрованного каталога. Это полезно если вы сдаете винт в ремонт на восстановление, либо к вам заглянули маски-шоу :)
При каждом ребуте нужно монтировать каталог и вводить ВЕРНЫЙ пароль, если пароль не верный, то содержимое будет также недоступно.
Монтируем снова
pefs mount /secret /secret
pefs addkey /secret

Если верно ввести пароль, то содержимое будет вновь доступно
cat /secret/file.txt