vsftpdでホームディレクトリ以外にchrootをする

vsftpdじゃできないのかと思っていたらやる方法があったようです。

FTPのユーザーを ftpuser とします。

vim /etc/vsftpd/vsftpd.conf
---
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
user_config_dir=/etc/vsftpd/user_conf
---

echo "ftpuser" > /etc/vsftpd/chroot_list
mkdir /etc/vsftpd/user_conf
vim /etc/vsftpd/user_conf/ftpuser
---
local_root=/var/www/vhosts/example.com
---

service vsftpd restart

※CentOS7の場合は「/etc/vsftpd/vsftpd.conf」に以下が必要


allow_writeable_chroot=YES