可以使用 yum 安装或者源码包安装,源码包安装的优点是可以自由选择安装的软件版本,yum 安装时仓库的版本一般都是固定的某一个版本,无法自由选择。
默认的 yum 源没有提供 pure-ftpd,需要先安装 epel 扩展源:
# yum install epel-release
然后使用 yum 命令安装Pure-ftpd:
# yum install pure-ftpd
pure-ftpd官网:https://download.pureftpd.org/pub/pure-ftpd/releases/
使用wget下载相应版本
wget https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.47.tar.gz
解压
tar zxvf pure-ftpd-1.0.47.tar.gz
进入到解压后的目录
cd pure-ftpd-1.0.47
编译
./configure \
--prefix=/usr/local/pureftpd \
--without-inetd \
--with-altlog \
--with-puredb \
--with-throttling \
--with-peruserlimits \
--with-tls
还可以通过with-everything包含所有,命令简单,但是会把一些没必要的也安装了,自己挑哈哈
./configure --prefix=/usr/local/pure-ftpd/ --with-language=simplified-chinese --with-everything
我们在这里可能会遇到错误,在配置之后系统会提示:configure: error: OpenSSL headers not found.
解决方法是:
yum install -y openssl openssl-devel
,如果找不到这两个包,则需要安装 yum 的扩展源:yum install -y epel-release
注意:不要随意修改域名解析文件 /etc/resolv.conf
,否则可能导致 yum 源地址无法解析,而出现 [Errno 256] No more mirrors to try 。
/etc/resolv.conf 是 DNS 客户机配置文件,用于设置 DNS 服务器的 IP 地址及 DNS 域名,还包含了主机的域名搜索顺序。该文件是由域名解析 器(resolver,一个根据主机名解析IP地址的库)使用的配置文件。它的格式很简单,每行以一个关键字开头,后接一个或多个由空格隔开的参数。
编译并安装:
[root@ryan pure-ftpd-1.0.47]# make && make install
验证上一步是否执行成功:
[root@ryan pure-ftpd-1.0.47]# echo $?
0
这里返回值是"0"说明执行成功,否则就是没有成功。
vim /usr/local/pureftpd/etc/pure-ftpd.conf
ChrootEveryone yes
BrokenClientsCompatibility no
MaxClientsNumber 50
Daemonize yes
MaxClientsPerIP 8
VerboseLog no
DisplayDotFiles yes
AnonymousOnly no
NoAnonymous no
SyslogFacility ftp
DontResolve yes
MaxIdleTime 15
PureDB /usr/local/pureftpd/etc/pureftpd.pdb
LimitRecursion 10000 8
AnonymousCanCreateDirs no
MaxLoad 4
AntiWarez yes
Umask 133:022
MinUID 100
AllowUserFXP no
AllowAnonymousFXP no
ProhibitDotFilesWrite no
ProhibitDotFilesRead no
AutoRename no
AnonymousCantUpload no
PIDFile /usr/local/pureftpd/var/run/pure-ftpd.pid
MaxDiskUsage 99
CustomerProof yes
如果是yum安装,则配置文件在/etc/pure-ftpd/pure-ftpd.conf,并且pure-ftpd已经在/usr/sbin/pure-ftpd
[root@localhost ~]# find / -name pure-ftpd.conf
/etc/pure-ftpd/pure-ftpd.conf
[root@localhost bin]# whereis pure-ftpd
pure-ftpd: /usr/sbin/pure-ftpd /etc/pure-ftpd /usr/share/man/man8/pure-ftpd.8.gz
启动pure-ftpd
[root@localhost bin]# pure-ftpd /etc/pure-ftpd/pure-ftpd.conf
创建用户
[root@localhost ~]# useradd ftp-user
创建用户所属组
[root@localhost ~]# groupadd ftp-group
[root@localhost ~]# usermod -a -G ftp-group ftp-user
[root@localhost ~]# id ftp-user
uid=1008(ftp-user) gid=1009(ftp-user) 组=1009(ftp-user),1010(ftp-group)
创建一个用户上传目录
[root@localhost hbk]# mkdir upload_dir
[root@localhost hbk]# pwd
/root/hbk
修改其用户所属组
[root@localhost hbk]# chown -R ftp-user:ftp-group upload_dir/
创建ftp用户,注意ftp用户是虚拟用户,我设置的用户是hbk_test,密码也是hbk_test
[root@localhost hbk]# pure-pw useradd hbk_test -u ftp-user -d /root/hbk/upload_dir/
Password:
Enter it again:
其中-u选项是将虚拟用户hbk_test与系统用户ftp-user关联在一起,即使用hbk_test账号登录FTP后,会以ftp-user的身份来读取和下载文件,-d选项为hbk_test账户的家目录,这样可以是hbk_test只能访问/root/hbk/upload_dir
创建用户信息数据库文件,list显示用户列表
[root@localhost hbk]# pure-pw mkdb
[root@localhost hbk]# pure-pw list
hbk_test /root/hbk/upload_dir/./
删除账号的命令
[root@localhost hbk]# pure-pw userdel hbk_test
参考博客https://blog.csdn.net/huangbaokang/article/details/84957456
使用的是editplus工具