# 2021-01-11 #「vsftpd」- 实现:特定用户帐号上传,其他用户只能下载(WIP)
问题描述
在进行产品交付时,我们使用 FTP 提供下载:1)内部帐号,上传到各子目录中,2)客户登录帐号,只能访问自己的目录,并且能进行下载且无法上传。
该笔记将记录:如何实现,某个用户上传,而其他用户只能下载。
解决方案
这里只记录关键配置:
# 前台运行(可选) background=NO # 禁止匿名访问,允许本地访问,允许客人(虚拟用户)访问 anonymous_enable=NO local_enable=YES guest_enable=YES # 使虚拟用户具有与本地用户相同的权限 virtual_use_local_privs=YES # 使用 chroot 以禁止用户访问系统 chroot_local_user=YES allow_writeable_chroot=YES # 所有人禁止写入,实现只能下载 write_enable=NO # 为用户设置各自的家目录, user_sub_token=$USER local_root=/home/vsftpd/$USER # 为用户使用自己的配置文件 user_config_dir=/etc/vsftpd/user_config.d/
通过 /etc/vsftpd/user_config.d/<username> 配置,只为需要上传的用户创建,内容如下:
write_enable=YES
参考文献
WikiNotes/实现:特定用户帐号上传,其他用户只能下载(WIP)
Manpage of VSFTPD.CONF
security - vsftp: why is allow_writeable_chroot=YES a bad idea? - Server Fault