automountとPAMの組み合わせで出来るかな
こんな感じのことを自動で出来れば良いはず
# mkdir -pv /srv/ftp/jail/$USER/$USER
# mount --bind /home/$USER /srv/ftp/jail/$USER/$USER
# chroot /srv/ftp/jail/$USER
どうしても書き込み可能で安全にchrootさせたい場合は、ユーザー毎に2階層のディレクトリにして、1階層目は書き込み権限無くした上で、1階層目にchrootさせれば良いかな?
chrootする目的はログイン後にホームディレクトリより上の階層にアクセスさせない為だけど、うちのサーバーの場合は、シェルアクセスも許可してるから、あんまりそこに拘る理由はないことに気付いた
chrootした後のディレクトリにetc/nsswitch.confみたいなファイルを置くことで、libcとかが/etc/nsswitch.confとして読み込んで、そこから更に、lib/libnss_*.soみたいなライブラリが動的にロードされる、みたいなことが出来るかららしい
security - vsftp: why is allow_writeable_chroot=YES a bad idea? - Server Fault - https://serverfault.com/questions/743949/vsftp-why-is-allow-writeable-chroot-yes-a-bad-idea