PureFTPd 是一款专注于程序健壮和软件安全的免费FTP服务器软件(基于BSD License)。其可以在多种类Unix操作系统中编译运行,包括Linux、OpenBSD、FreeBSD、Solaris、Darwin等。PureFTPd 还有Android移植版本。
本篇文章,我们介绍如何在 Debian 系统中,安装配置 pure-ftpd。
首选在系统中安装 pure-ftpd:sudo apt-get install pure-ftpd
1. 在系统里增加一个不能登录的用户及用户组,用于映射ftp虚拟用户
sudo groupadd ftpgroup
sudo useradd -g ftpgroup -d /usr/sbin/nologin ftpuser
说明: ftpuser的目录为/usr/sbin/nologin,而 /etc/pure-ftpd/conf/PAMAuthentication 的内容为 yes,即pure-ftp使用PAM,可以关掉它。若不关掉,则需要在/etc/shells中,加入目录 /usr/sbin/nologin 。如果不注意这一点,将会总是登录不上。
参考官方文档中--with-pam项。/etc/pure-ftpd/conf/中每一个文件是一个启动参数项。
2. 增加仅供ftp的虚拟用户
sudo pure-pw useradd user01 -u ftpuser -d /noc
(这时系统会提示为新增的虚拟用户输入口令。若后面需要修改,用 sudo pure-pw passwduser01 )
sudo pure-pw mkdb
sudo pure-pw show user01
执行完成之后,在/etc/pure-ftpd 之下新生成(第一次使用)或修改了以下文件:
pureftpd.passwd pureftpd.pdb
3. 在/etc/pure-ftpd/auth 内,增加一个软连接,描述 pureftpd.pdb 所在的位置
sudo ln -s /etc/pure-ftpd/conf/PureDB/etc/pure-ftpd/auth/60puredb
说明:/etc/pure-ftpd/auth/60puredb这个文件随取一个名字,和目录里不重名
看一下PureDB是什么内容:
$ sudo cat /etc/pure-ftpd/conf/PureDB
/etc/pure-ftpd/pureftpd.pdb
4. 重启pure-ftpd
sudo service /etc/init.d/pure-ftpd restart