vsftpd chroot 配置

vsftpd chroot 配置

我在 Ubuntu 14.04 (LTS) 服务器上使用 chroot 正确设置 VSFTPD 时遇到问题。无论我怎么尝试,我都可以自由浏览服务器。

这是我的/etc/vsftpd.conf文件(删除了注释部分)

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES

# CHROOT'ING
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd

ssl_enable=Yes
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem 
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

该文件/etc/vsftpd.chroot_list仅包含用户ftpuser,目的是允许他浏览整个服务器。

为了测试目的,我创建了用户“user1”。当我

sftp user1@ftp-server

我登录到它的 /home/user1。但是,我仍然可以浏览整个服务器而不会受到任何限制。

我究竟做错了什么?

编辑 vsftpd 版本:3.0.2

更新

问题似乎与 chroot 完全无关。实际上,它在 FTP 协议下工作得很好。假设 SSH 服务器拦截端口 22 上的传入连接,因此不会将其分派到 vsftpd。这只是猜测。

答案1

除 chroot 指令外,还可以尝试以下选项:

user_sub_token=$USER
local_root=/home/$USER

相关内容