/tmpを暗号化ファイルシステムにするには… part2
細かいお作法は知らない
gptでtypeをfreebsd-swapで作ってあり、なおかつ、それがfstabでswapとして使われてない、パーティションを見つけたら
・ワンタイム暗号キーでパーティション暗号化
・zfsで初期化して
・/tmpにマウント(lz4圧縮有効)
・/tmpのパーミッション設定
ってやります。
geliでワンタイムキーで暗号化しているので、該当パーティションのデータはすべて壊れますので、freebsd-swapのタイプ探してくるなんて面倒な事してます
これを /usr/local/etc/rc.d/encrypttmp.shってな名前で保存して実行権限あたえりゃOK
#!/bin/sh
# PROVIDE: encrypttmp
# REQUIRE: var cleanvar
# BEFORE: FILESYSTEMS
. /etc/rc.subr
name="encrypttmp"
stop_cmd=':'
load_rc_config $name
mount_tmpencryptfs()
{
DEVS=""
for DEV in `gpart show -p | grep 'freebsd-swap' | awk '{print $3}' | grep -v '/'`
do
geli onetime -d -s 4096 ${DEV} \
&& DEVS="${DEVS} /dev/${DEV}.eli"
done
zpool create -o cachefile=none -O compression=lz4 -O sync=disabled -m none tmp ${DEVS}
zfs create -o mountpoint=/tmp tmp/tmp
chmod 01777 /tmp
}
mount_tmpencryptfs
あぁ、念のため書いとくけど
これで自分のファイルシステムぶっ壊しても知りませんので
よく分らん人は辞めてね