我正在使用 vsftpd 运行 ftp 服务器。该服务器是一个匿名公共服务器,其上的所有内容都只能下载。
我想创建一个新的“上传”文件夹,允许匿名用户上传。但我希望他们只能上传到该特定文件夹,而不能上传到其他文件夹。
这可能吗?我在 vsftpd 配置文件中找到了写入权限,但我还没有找到如何指定特定目录
编辑:我创建了一个上传目录,并将“ftp”设为所有者。权限设置为 777。我还阅读了 arch wiki 上的手册页,但没有提供任何解决方案
答案1
查看帖子 允许 vsftpd 用户仅上传到单个目录:
然后正确配置 vsftpd 以进行匿名下载,并将匿名 FTP 用户 chroot() 到 /var/ftp。我已经有一段时间没有这样做了,但大致如此,未经测试:
# /etc/vsftpd/vsftpd.conf listen=YES #The following directives prevent local users from logging in and enables anonymous access respectively. local_enable=NO anonymous_enable=YES #The following directive enables write access to the ftp server’s filesystem. write_enable=Yes anon_upload_enable=Yes # Sets the root directory for anonymous connections. anon_root=/var/ftp
请参阅链接的帖子以了解更多详细信息。
答案2
我通过启用“write_enable = YES”和“anon_upload_enable = YES”并将上传目录的权限设置为 777 来修复此问题