FTP:将用户限制在主文件夹

FTP:将用户限制在主文件夹

使用 Centos7 和 vsftpd,我想将用户“testftp”切换到他的主文件夹 /home/testftp。
客户端在 Windows 上使用 WinSCP。
用户 testftp 可以访问服务器并最初连接到他的主文件夹。
但是用户仍然可以浏览更高级别。

密码:

testftp:x:1001:1001::/home/testftp/:/bin/bash

vsftpd.conf:

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

主文件夹 testftp:
由于 vsftpd.conf 中的此行,已使用 chmod 500 对其进行了修改
(警告!chroot 可能非常危险。如果使用 chroot,请确保用户对 chroot 中的顶级目录没有写权限)

dr-x------. 3 testftp testftp 73 十二月 5 10:44 testftp

主文件夹中还有一个名为 ftp 的文件夹:

drwx------. 2 > testftp testftp 44 十二月 5 10:52 ftp

答案1

试试这个...
vim 进入 /etc/vsftp.conf 并添加 -> allow_writeable_chroot=YES
重启服务器 -> service vsftpd restart
-or-
退出 vim 并运行此命令 -> chmod aw /home/testftp
重启服务器 -> service vsftpd restart

答案2

我自己找到了答案。

在主文件夹内创建另一个文件夹:

mkdir /home/ftptest/ftp

使用以下内容更改 vsftpd.conf 文件:

chroot_local_user=NO
chroot_list_enable=YES
user_sub_token=$USER
local_root=/home/$USER/ftp (这是我们刚刚创建的文件夹)

此设置确保除了 chroot_list 里面的用户之外,没有其他用户被 chroot。
如果您希望除了 chroot_list 里面的用户之外,所有人都被 chroot,请更改 chroot_local_user=YES。

这样,每个用户都可以访问 FTP 服务(无论是否已 chroot)。如果您希望特定用户无法访问 FTP 服务,或者相反,除了少数用户之外的所有用户,请在 vsftpd.conf 中使用 userlist。

来源

相关内容