Centos下安装Pure-ftpd

可以使用 yum 安装或者源码包安装,源码包安装的优点是可以自由选择安装的软件版本,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

使用pure-ftpd

如果是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工具

你可能感兴趣的:(linux)