vsftpd のchroot 設定。

vsftpd.conf の『 chroot_list_enable 』と『 chroot_local_user 』、『 chroot_list_file 』の 3 つのパラメータ。


『 chroot_list_enable = YES 』とすると、すべてのユーザが上層ディレクトリにアクセスできる。上層ディレクトリにアクセスできないユーザを 『 chroot_list_file=/etc/vsftpd/chroot_list 』に記載する。

さらに『 chroot_local_user = YES 』にすると、『 chroot_list_file 』の意味を逆にできる。すべてのユーザが上層ディレクトリにアクセスできない。上層ディレクトリにアクセスできるユーザを 『 chroot_list_file=/etc/vsftpd/chroot_list 』に記載する。


man page より。


chroot_list_enable 
YES に設定した場合、ログイン後にホームディレクトリへと chroot() されるローカルユーザのリストを指定できる。 chroot_local_user を YES に設定した場合には、意味が異なってくる。 リストはその場合、chroot() jail へと移動されないユーザ のリストとなる。 デフォルトでは、このリストは /etc/vsftpd.chroot_list ファイルであるが、 chroot_list_file 設定によってこれを変更することができる。 
デフォルト: NO
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list



chroot_local_user 
YES に設定した場合、ローカルユーザは(デフォルトで)ログイン後に ホームディレクトリへと chroot() される。 警告: このオプションはセキュリティに密接に関連する。 ユーザがアップロード権限を持っていたり、シェルでのアクセスができる場合は 特にである。 何をしているかを理解している場合にのみ有効にすること。 これらのセキュリティの問題は vsftpd に特有の問題ではないことに 注意してほしい。 ローカルユーザを chroot() jail に入れることができるすべての FTP デーモンにおいて、この問題がある。
デフォルト: NO