注意:用户是chroot,他们的local_root被设置为/srv/ftp 。
为什么vsftpd强制本地chroot用户拥有主目录? 如果没有,它将拒绝工作。 我在代码中发现了以下内容:
secutil.c:53 /* Always do the chdir() regardless of whether we are chroot()'ing */
这是什么目的? 为什么一个chdir很快到家,然后到local_root 。
我猜测是因为用户在连接时启动主目录非常有用,而不是被放到/ (或别的地方),而且大部分时间都不得不进入主目录。
主目录应该从/etc/passwd ,所以你可以将它设置为你喜欢的任何东西(它不一定是/home/<username> )。 你可以把它/tmp甚至/如果你想。
如果将chroot设置为/默认情况下有什么好处? 将用户chroot到他们的主目录的目的是为了防止他们在其他地方徘徊 – 缺乏homedir将打败这一点,并可怕的错误倾向。