VSFTPD - chroot 和 s3fs 问题

VSFTPD - chroot 和 s3fs 问题

我在使用 VSFTPD 时遇到了一个小问题,我还无法解决它,所以我来这里寻求您的建议!

用户主目录中有一个 ftp 目录,它是通过 s3fs 的挂载点,用于访问 S3 bucket。启动我的 s3fs 的设置:

s3fs mybucket -o dbglevel=info -f -o curldbg -o url=https://s3-eu-central-1.amazonaws.com -o use_cache=/tmp/myuser -o use_path_request_style -o uid=UID-of-my-user -o gid=GID-of-my-user /home/user/ftp/

主目录的内容及其权限:

4 drwxr-xr-x 4 user nfsnobody 4096 Aug 10 08:19 .
4 drwxr-xr-x 7 root    root      4096 Aug 11 07:31 ..
4 -rw------- 1 user usergroup   1750 Aug 11 10:27 .bash_history
4 drwxrwxr-x 3 user usergroup   4096 Aug 10 08:17 .local
4 -rw------- 1 user usergroup   62 Aug 10 08:18 .passwd-s3fs
4 drwxrwxr-x 2 user usergroup   4096 Aug 11 10:28 ftp

ftp 目录上的广泛设置,因为我尝试了很多方法来找到解决方案,稍后会修复它。

当我启动 s3fs 时,ftp 目录的权限被修改:

1 drwx------ 1 user usergroup      0 Jan  1  1970 ftp

我的 vsftpd.conf:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
#chroot_local_user=YES
#allow_writeable_chroot=YES
#user_sub_token=\$USER
#local_root=/home/\$USER/ftp
listen=YES
pam_service_name=vsftpd
tcp_wrappers=YES
pasv_min_port=40000
pasv_max_port=50000
pasv_address=3.124.254.185
userlist_file=/etc/vsftpd.userlist
userlist_enable=YES
userlist_deny=NO
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log

可以看到,chroot的设置暂时被禁用了。我的用户在 vsftp.userlist 文件中

如果我尝试使用该配置登录,它可以正常工作,我可以登录,进入 ftp 目录并执行任何我需要执行的操作。但是,如果我强制执行 chroot 配置,我会收到以下错误消息:

500 OOPS: cannot change directory:/home/user/ftp

我现在不知道该怎么做。我真的需要用户直接进入 ftp 目录,因为使用此 FTP 用户的应用程序非常旧,无法通过其他方式进行配置。

任何想法 ?

相关内容