debian 11 安装 pure-ftpd
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/FSCharsetUTF-8
  • /etc/pure-ftpd/conf/ChrootEveryoneyes
  • /etc/pure-ftpd/conf/MaxClientsNumber32,最多同时有多少个客户链接,这里的客户指的是用户名和密码的匹配
  • /etc/pure-ftpd/conf/Daemonizeyes,是否后台运行
  • /etc/pure-ftpd/conf/MaxClientsPerIP3,每个客户可以创建几个链接线程,一般 3 个就很够用,很多专门的 FTP 资源共享站点都是 1
  • /etc/pure-ftpd/conf/DisplayDotFilesyes,是否显示以点开头的隐藏文件
  • /etc/pure-ftpd/conf/AnonymousOnlyno,是否只允许匿名用户登入
  • /etc/pure-ftpd/conf/NoAnonymousyes,是否不允许匿名用户登入
  • /etc/pure-ftpd/conf/DontResolveyes,是否不解析客户端地址
  • /etc/pure-ftpd/conf/MaxIdleTime15,客户端空闲时间,单位分钟
  • /etc/pure-ftpd/conf/PureDB/etc/pure-ftpd/pureftpd.pdb,此配置项本质是个指向
  • /etc/pure-ftpd/conf/PAMAuthenticationno
  • /etc/pure-ftpd/conf/UnixAuthenticationno
  • /etc/pure-ftpd/conf/AnonymousCanCreateDirsno,匿名用户是否可以创建文件夹
  • /etc/pure-ftpd/conf/MaxLoad4,负载上限,当系统负载达到此值后匿名用户将被拒绝下载请求,其实没啥用
  • /etc/pure-ftpd/conf/PassivePortRange30000 50000,被动模式使用的端口范围
  • /etc/pure-ftpd/conf/MinUID1000,小于此 id 的 unix 用户将不能登入,保持默认 1000 即可
  • /etc/pure-ftpd/conf/AllowUserFXPno,是否允许 FXP 跨站协议,此协议用于在两个 FTP 站点中直接交换数据而不经过客户端中转,专门的 FTP 资源站可以开启这个
  • /etc/pure-ftpd/conf/AllowAnonymousFXPno,是否允许匿名用户使用 FXP 跨站协议
  • /etc/pure-ftpd/conf/ProhibitDotFilesWriteno,是否阻止客户创建、修改、删除以点开头的文件
  • /etc/pure-ftpd/conf/ProhibitDotFilesReadno,是否阻止客户读取以点开头的文件
  • /etc/pure-ftpd/conf/AutoRenameno,是否在上传遇到重复的文件时自动重命名
  • /etc/pure-ftpd/conf/AnonymousCantUploadyes,是否阻止匿名用户上传
  • /etc/pure-ftpd/conf/NoChmodyes,是否阻止客户修改文件权限
作者
ragnaroks
发布时间
2022-04-11
创作协议