如何“监禁”其主目录(proftpd)内的FTP用户?

我有一个名为“ftp3”的用户属于组“ftpusers-temp”。

该用户的家是家庭/ FTP共享/温度

proftpd.conf中我有以下2个指令:

DefaultRoot /home/FTP-shared DefaultRoot ~ ftpusers-temp 

我期待用户ftp3只能看到“temp”目录; 但是会发生什么情况是login时会默认select“temp”目录,但是用户可以返回并访问ftp服务器的根目录。

没有用户“ftp3”被关在“/ home / FTP-shared / temp”,并且无法访问“/ home / FTP-shared”?

DefaultRoot行需要位于configuration文件的末尾。

我相信问题可能是你有多个DefaultRoot(s)指定。 正如ProFTPd文档所解释的那样 :

如果两个DefaultRoot指令适用于同一个用户,ProFTPD任意select一个(根据configuration文件的parsing方式)

您可以尝试注释掉第一个DefaultRoot指令,看看是否有助于解决问题。

编辑

这是一种在用户主目录中closures用户的方法。

  • 这是ProFTPd中的一个标准function
  • 打开/etc/proftpd/proftpd.conf
  • 取消注释#DefaultRoot〜
  • replace为DefaultRoot / home / someuser someuser

(让我们快速的解释一下上面的代码:DefaultRoot是proftpd启用jailfunction的参数,someuser是所有被chrooted的用户的主要组(默认情况下和用户名一样)/ home / someuser是目录用户将被监禁。)

  • 然后执行“/etc/init.d/proftpd restart”