
debian 11 安装 pure-ftpd
此为本人特定操作记录,适度参考
安装 pure-ftpd 包,如果找不到包,可以重新配置为官方源后再试,或直接应用可执行文件。
shellapt install pure-ftpd
增加一个不能登入的用户 ftpuser 及其用户组 ftpgroup,/var/www 为家目录
shellgroupadd ftpgroup
useradd -g ftpgroup -d /var/www -s /usr/sbin/nologin ftpuser
chown ftpuser:ftpgroup /var/www
添加一个测试虚拟用户 anonymous,/var/www/anonymous 为其虚拟家目录,应位于 ftpuser 的家目录之下,会提示输入两次密码。
shellsudo -u ftpuser mkdir /var/www/anonymous
pure-pw useradd anonymous -u ftpuser -d /var/www/anonymous
创建或更新 pureDB:
shellpure-pw mkdb
移除用不到的认证方式,建议先确定路径是否正确,不同仓库打包可能位置不一样。
shellrm -rf /etc/pure-ftpd/auth/*
ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/60puredb
检查刚才添加的用户 anonymous:
shellpure-pw show anonymous
确认无误重启进程正式使用,记得删除或禁用匿名用户。
shellsystemctl restart pure-ftpd
典型配置如下,注意 pureftpd 使用文件覆盖的方式进行配置,除非知道自己在做什么,否则不要动 /etc/pure-ftpd/pure-ftpd.conf 文件,而是在 /etc/pure-ftpd/conf/ 中创建以配置项的键为名的文件,其内容为配置项的值。
- /etc/pure-ftpd/conf/FSCharset:
UTF-8
- /etc/pure-ftpd/conf/ChrootEveryone:
yes
- /etc/pure-ftpd/conf/MaxClientsNumber:
32
,最多同时有多少个客户链接,这里的客户指的是用户名和密码的匹配 - /etc/pure-ftpd/conf/Daemonize:
yes
,是否后台运行 - /etc/pure-ftpd/conf/MaxClientsPerIP:
3
,每个客户可以创建几个链接线程,一般 3 个就很够用,很多专门的 FTP 资源共享站点都是 1 - /etc/pure-ftpd/conf/DisplayDotFiles:
yes
,是否显示以点开头的隐藏文件 - /etc/pure-ftpd/conf/AnonymousOnly:
no
,是否只允许匿名用户登入 - /etc/pure-ftpd/conf/NoAnonymous:
yes
,是否不允许匿名用户登入 - /etc/pure-ftpd/conf/DontResolve:
yes
,是否不解析客户端地址 - /etc/pure-ftpd/conf/MaxIdleTime:
15
,客户端空闲时间,单位分钟 - /etc/pure-ftpd/conf/PureDB:
/etc/pure-ftpd/pureftpd.pdb
,此配置项本质是个指向 - /etc/pure-ftpd/conf/PAMAuthentication:
no
- /etc/pure-ftpd/conf/UnixAuthentication:
no
- /etc/pure-ftpd/conf/AnonymousCanCreateDirs:
no
,匿名用户是否可以创建文件夹 - /etc/pure-ftpd/conf/MaxLoad:
4
,负载上限,当系统负载达到此值后匿名用户将被拒绝下载请求,其实没啥用 - /etc/pure-ftpd/conf/PassivePortRange:
30000 50000
,被动模式使用的端口范围 - /etc/pure-ftpd/conf/MinUID:
1000
,小于此 id 的 unix 用户将不能登入,保持默认 1000 即可 - /etc/pure-ftpd/conf/AllowUserFXP:
no
,是否允许 FXP 跨站协议,此协议用于在两个 FTP 站点中直接交换数据而不经过客户端中转,专门的 FTP 资源站可以开启这个 - /etc/pure-ftpd/conf/AllowAnonymousFXP:
no
,是否允许匿名用户使用 FXP 跨站协议 - /etc/pure-ftpd/conf/ProhibitDotFilesWrite:
no
,是否阻止客户创建、修改、删除以点开头的文件 - /etc/pure-ftpd/conf/ProhibitDotFilesRead:
no
,是否阻止客户读取以点开头的文件 - /etc/pure-ftpd/conf/AutoRename:
no
,是否在上传遇到重复的文件时自动重命名 - /etc/pure-ftpd/conf/AnonymousCantUpload:
yes
,是否阻止匿名用户上传 - /etc/pure-ftpd/conf/NoChmod:
yes
,是否阻止客户修改文件权限