阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Pure-FTPd实现基于虚拟帐号访问的FTP服务器

167次阅读
没有评论

共计 14591 个字符,预计需要花费 37 分钟才能阅读完成。

Pure-FTPd 是一个免费的(BSD),安全的,符合标准的 FTP 服务器。它可以基于 web 页面进行管理,管理起来非常方便和高效;同时,它支持虚拟用户进行访问,大大提高了它的安全性。它提供了共同的需求,简单的答案,再加上独特的有用的功能,为个人用户和主机提供商。

Pure-FTPd 可以支持多种操作系统(Linux, OpenBSD, NetBSD, DragonflyBSD FreeBSD, Solaris, Tru64,Darwin, Irix,HPUX,AIXand iPhone.),支持多种国家语言。

实现的环境:RedHat Enterprise Linux 5.4

使用到的相关软件包:

httpd-2.4.4.tar.bz2 (源代码)

apr-1.4.6.tar.gz (源代码) 支持 httpd 的可移植运行库

apr-util-1.5.1.tar.gz (源代码) 可移植运行库的工具

mysql-5.6.10.tar.gz (源代码)

php-5.4.13.tar.bz2 (源代码)

cmake-2.8.10.2.tar.gz (源代码) 实现 mysql 的配置

pure-ftpd-1.0.36.tar.gz (源代码)pure-ftpd 源码包

PureAdmin-0.3.tar.gz ftp 服务器基于 web 的后台管理程序

ZendOptimizer-3.3.3-linux-hicode.tar.gz php 加速器

pureftp.sql 建库建表语句

pureftpd-mysql.conf pureftp 与 mysql 的连接接口文件

以上这些东西都是来自互联网,都可以在互联网上找到。

 

具体实现:

一. 搭建 LAMP 环境

1.httpd 的安装,再安装 httpd 之前一定要有 apr 的可移植运行库和可移植性运行库工具的支持。

apr 的安装:

[root@server ~]# tar -zxvf apr-1.4.6.tar.gz -C/usr/local/src/

[root@server ~]# cd /usr/local/src/apr-1.4.6/

[root@server apr-1.4.6]# ./configure –prefix=/usr/local/apr

[root@server apr-1.4.6]# make && make install

[root@server apr-1.4.6]# cd /usr/local/apr/

[root@server apr]# ln -s /usr/local/apr/include/usr/include/apr

[root@server apr]# cd /etc/ld.so.conf.d/

[root@server ld.so.conf.d]# vim apr.conf apr 的内容如下图:

Pure-FTPd 实现基于虚拟帐号访问的 FTP 服务器

然后使用 ldconfig 刷新缓存,在使用 ldconfig -pv |grep apr 查看 apr 相关的库文件:

Pure-FTPd 实现基于虚拟帐号访问的 FTP 服务器

apr-util 的安装:

[root@server ~]# tar -zxvf apr-util-1.5.1.tar.gz -C/usr/local/src/

[root@server ~]# cd /usr/local/src/apr-util-1.5.1/

[root@server apr-util-1.5.1]# ./configure–prefix=/usr/local/apr-util –with-apr=/usr/local/apr/bin/apr-1-config

[root@server apr-util-1.5.1]# make && make install

[root@server apr-util-1.5.1]# cd /usr/local/apr-util/

[root@server apr-util]# ln -s /usr/local/apr-util/include/usr/include/apr-util

[root@server apr-util]# cd /etc/ld.so.conf.d/

[root@server ld.so.conf.d]# vim apr-util.conf apr-util 的内容如下图:

Pure-FTPd 实现基于虚拟帐号访问的 FTP 服务器

同样使用 ldconfig 刷新缓存

Pure-FTPd 实现基于虚拟帐号访问的 FTP 服务器

httpd 的安装:

说明:由于在对 httpd 进行相应的配置时,还依赖于 pcre 的库,所以要挂载光盘安装 pcre-devel。

[root@server ~]# mkdir /mnt/cdrom

[root@server ~]# mount /dev/cdrom /mnt/cdrom/

[root@server ~]# cd /mnt/cdrom/Server/

[root@server Server]# rpm -ivh pcre-devel-6.6-2.el5_1.7.i386.rpm

[root@server ~]# tar -jxvf httpd-2.4.4.tar.bz2 -C/usr/local/src/

[root@server ~]# cd /usr/local/src/httpd-2.4.4/

[root@server httpd-2.4.4]# ./configure \

> –prefix=/usr/local/apache \

> –sysconfdir=/etc/httpd \

> –enable-mods-shared=most \

> –enable-so \

> –enable-ssl \

> –enable-mpms-shared=all \

> –enable-rewrite \

> –with-apr=/usr/local/apr/bin/apr-1-config \

> –with-apr-util=/usr/local/apr-util/bin/apu-1-config \

> –with-zlib \

> –with-pcre

[root@server httpd-2.4.4]# make && make install

[root@server httpd-2.4.4]# cd /usr/local/apache/

[root@server apache]# ln -s /usr/local/apache/include/usr/include/apache

[root@server apache]# vim /etc/profile 对环境文件作如下修改:

Pure-FTPd 实现基于虚拟帐号访问的 FTP 服务器

[root@server apache]# . /etc/profile 重新读取环境文件

[root@server apache]# echo $PATH

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/apache/bin

[root@server apache]# vim /etc/man.config 作如下修改:

Pure-FTPd 实现基于虚拟帐号访问的 FTP 服务器

说明:由于源码安装没服务的控制脚本,通常需要我们自己写,而服务器的控制脚本所在的目录:/etc/init.d/ 通常与程序的名字相同。

[root@localhost ~]# cd /etc/init.d/

[root@localhost init.d]# vim httpd httpd 的内容如下:

 

#/bin/bash

# chkconfig:2345 88 78 服务设置在各级别启动与关闭状态

# description:httpd server daemon 实现 chkconfig 自动管理必不可少

lockfile=/var/lock/subsys/httpd

prog=/usr/local/apache/bin/httpd

configfile=/etc/httpd/httpd.conf

./etc/init.d/functions

start(){

[-f $lockfile] && echo”httpd is started” && exit

echo -n “httpd isstarting…”

sleep 1

$prog -f $configfile && echo”ok” && touch $lockfile || echo “failed”

}

stop(){

[! -f $lockfle] && echo”httpd is stoped” && exit

echo -n “httpd is stopping”

sleep 1

killproc httpd && echo”ok” && rm -rf $lockfile || echo “failed”

}

case”$1″ in

start)

start

;;

stop)

stop

;;

restart)

stop

start

;;

*)

echo”USAGE:start|stop|restart”

esac

[root@localhost init.d]# chmod a+x httpd

修改 /etc/httpd/httpd.conf 的配置文件,使得其支持基于 php 开发的 pure-ftpd 的 web 管理页面,需做如下修改:

Pure-FTPd 实现基于虚拟帐号访问的 FTP 服务器

启动 httpd 服务,并且加入 chkconfig 实现服务开机自动启动:

Pure-FTPd 实现基于虚拟帐号访问的 FTP 服务器

2.mysql 数据库的安装,由于 mysql 的源码拆解目录下没有 configure 的配置工具,我们要对 mysql 进行相应的配置必须使用 cmake 工具进行 mysql 的配置。

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2013-10/92037p2.htm

Pure-FTPd 的详细介绍 :请点这里
Pure-FTPd 的下载地址 :请点这里

相关阅读

源码安装 Pure-ftpd 搭建 ftp 服务器 http://www.linuxidc.com/Linux/2013-05/84885.htm

Pure-ftpd 在企业网中的应用 http://www.linuxidc.com/Linux/2012-09/71126.htm

Pure-ftpd 虚拟用户的配置及基于 MySQL 的虚拟用户配置详解 http://www.linuxidc.com/Linux/2012-09/70645.htm

Pure-ftpd 服务器在 Linux 上的搭建 http://www.linuxidc.com/Linux/2012-09/70642.htm

Ubuntu 安装 Pure-ftpd 搭配网页管理使用者系统 http://www.linuxidc.com/Linux/2011-12/50583.htm

cmake 工具的安装:

[root@server ~]# tar -zxvf cmake-2.8.10.2.tar.gz -C/usr/local/src/

[root@server ~]# cd /usr/local/src/cmake-2.8.10.2/

[root@server cmake-2.8.10.2]# ./configure–prefix=/usr/local/cmake

[root@server cmake-2.8.10.2]# make && make install

然后对 cmake 安装目录下的 bin 目录和 man 目录做如同 httpd 相同的操作,这里就不再写出了。

mysql 的安装:

[root@server ~]# groupadd mysql

[root@server ~]# useradd -r -g mysql mysql -s /sbin/nologin-M

说明:在 linux 下任何一种服务要运行,都需要相应的运行者身份,这里我们需要建立运行 mysql 服务的运行者 mysql 和该用户所属组 mysql。

[root@server ~]# tar -zxvf mysql-5.6.10.tar.gz -C/usr/local/src/

[root@server ~]# cd /usr/local/src/

[root@server src]# ln -s /usr/local/src/mysql-5.6.10/usr/local/src/mysql

[root@server src]# cd mysql

[root@server mysql]# cmake . 执行 cmake 产生 Makefile 文件

[root@server mysql]# make && make install

说明:mysql 安装完成后会在 /usr/local/ 下产生名为 mysql 的安装目录。接下来同样对 mysql 安装目录下的 bin 目录、lib 目录、man 目录和 include 目录都需要做同 httpd 相应的操作,这里不再写了。

进入 mysql 的安装目录,产生 mysql 的初始化数据库:

[root@server mysql]# chown -R mysql:mysql .

[root@server mysql]# scripts/mysql_install_db –user=mysql

[root@server mysql]# chown -R root .

[root@server mysql]# chown -R mysql data

现在产生 mysql 的配置文件和控制脚本:

[root@server mysql]# cp support-files/my-default.cnf/etc/my.cnf

[root@server mysql]# cp support-files/mysql.server/etc/init.d/mysqld

[root@server mysql]# chmod a+x /etc/init.d/mysqld

启动 mysql 的服务,并且使用 chkconfig 进行管理:

[root@server mysql]# service mysqld start

[root@server mysql]# chkconfig –add mysqld

[root@server mysql]# chkconfig mysqld on

Pure-FTPd 实现基于虚拟帐号访问的 FTP 服务器

现在对 mysql 进行相应的操作,修改 mysql 的用户密码

[root@server mysql]# mysqladmin -u root -p password ‘123’

mysql> INSERT INTO mysql.user (Host, User, Password,Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv,Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv,References_priv, Index_priv, Alter_priv, ssl_cipher, x509_issuer, x509_subject)VALUES(‘localhost’,’ftp’,PASSWORD(‘passwd’),’Y’,’Y’,’Y’,’Y’,’N’,’N’,’N’,’N’,’N’,’N’,’N’,’N’,’N’,’N’,’NULL’, ‘NULL’, ‘NULL’);

mysql> FLUSH PRIVILEGES;

mysql>CREATE DATABASE ftpusers;

mysql>USE ftpusers;

mysql>CREATE TABLE admin (

Username varchar(35)NOT NULL default ”,

Password char(32)binary NOT NULL default ”,

PRIMARY KEY (Username)

)

mysql>INSERT INTO admin VALUES (‘admin’,MD5(‘passwd’));

mysql>CREATE TABLE `users` (

`User` varchar(16)NOT NULL default ”,

`Password`varchar(32) binary NOT NULL default ”,

`Uid` int(11) NOTNULL default ’14’,

`Gid` int(11) NOTNULL default ‘5’,

`Dir` varchar(128)NOT NULL default ”,

`QuotaFiles` int(10)NOT NULL default ‘500’,

`QuotaSize` int(10)NOT NULL default ’30’,

`ULBandwidth` int(10)NOT NULL default ’80’,

`DLBandwidth` int(10)NOT NULL default ’80’,

`Ipaddress`varchar(15) NOT NULL default ‘*’,

`Comment` tinytext,

`Status`enum(‘0′,’1’) NOT NULL default ‘1’,

`ULRatio` smallint(5)NOT NULL default ‘1’,

`DLRatio` smallint(5)NOT NULL default ‘1’,

PRIMARY KEY (`User`),

UNIQUE KEY `User`(`User`)

)

mysql> grant all privileges on ftpusers.* to ftp@localhostidentified by ‘tmppasswd’; 将对数据库 ftpusers 的所有权限授予 ftp 用户

mysql> flush privileges; 刷新权限值

mysql> \quit

重新使用 ftp 用户登录 mysql 数据库:

 

Pure-FTPd 实现基于虚拟帐号访问的 FTP 服务器

3.php 的安装

[root@server ~]# tar -jxvf php-5.4.13.tar.bz2 -C/usr/local/src/

[root@server ~]# cd /usr/local/src/php-5.4.13/

[root@server php-5.4.13]# ./configure \

> –prefix=/usr/local/php \

> –sysconfdir=/etc/php \

> –with-apxs2=/usr/local/apache/bin/apxs \

> –with-gd \

> –with-jpeg-dir \

> –with-png-dir \

> –with-zlib-dir \

> –enable-mbstring \

> –with-mysql=/usr/local/mysql \

> –with-mysqli=/usr/local/mysql/bin/mysql_config \

[root@server php-5.4.13]# make && make install

进入 php 的安装目录,对该目录下的 bin 目录做 httpd 同样的操组,此处省略操作步骤。

Pure-FTPd 是一个免费的(BSD),安全的,符合标准的 FTP 服务器。它可以基于 web 页面进行管理,管理起来非常方便和高效;同时,它支持虚拟用户进行访问,大大提高了它的安全性。它提供了共同的需求,简单的答案,再加上独特的有用的功能,为个人用户和主机提供商。

Pure-FTPd 可以支持多种操作系统(Linux, OpenBSD, NetBSD, DragonflyBSD FreeBSD, Solaris, Tru64,Darwin, Irix,HPUX,AIXand iPhone.),支持多种国家语言。

实现的环境:RedHat Enterprise Linux 5.4

使用到的相关软件包:

httpd-2.4.4.tar.bz2 (源代码)

apr-1.4.6.tar.gz (源代码) 支持 httpd 的可移植运行库

apr-util-1.5.1.tar.gz (源代码) 可移植运行库的工具

mysql-5.6.10.tar.gz (源代码)

php-5.4.13.tar.bz2 (源代码)

cmake-2.8.10.2.tar.gz (源代码) 实现 mysql 的配置

pure-ftpd-1.0.36.tar.gz (源代码)pure-ftpd 源码包

PureAdmin-0.3.tar.gz ftp 服务器基于 web 的后台管理程序

ZendOptimizer-3.3.3-linux-hicode.tar.gz php 加速器

pureftp.sql 建库建表语句

pureftpd-mysql.conf pureftp 与 mysql 的连接接口文件

以上这些东西都是来自互联网,都可以在互联网上找到。

 

具体实现:

一. 搭建 LAMP 环境

1.httpd 的安装,再安装 httpd 之前一定要有 apr 的可移植运行库和可移植性运行库工具的支持。

apr 的安装:

[root@server ~]# tar -zxvf apr-1.4.6.tar.gz -C/usr/local/src/

[root@server ~]# cd /usr/local/src/apr-1.4.6/

[root@server apr-1.4.6]# ./configure –prefix=/usr/local/apr

[root@server apr-1.4.6]# make && make install

[root@server apr-1.4.6]# cd /usr/local/apr/

[root@server apr]# ln -s /usr/local/apr/include/usr/include/apr

[root@server apr]# cd /etc/ld.so.conf.d/

[root@server ld.so.conf.d]# vim apr.conf apr 的内容如下图:

Pure-FTPd 实现基于虚拟帐号访问的 FTP 服务器

然后使用 ldconfig 刷新缓存,在使用 ldconfig -pv |grep apr 查看 apr 相关的库文件:

Pure-FTPd 实现基于虚拟帐号访问的 FTP 服务器

apr-util 的安装:

[root@server ~]# tar -zxvf apr-util-1.5.1.tar.gz -C/usr/local/src/

[root@server ~]# cd /usr/local/src/apr-util-1.5.1/

[root@server apr-util-1.5.1]# ./configure–prefix=/usr/local/apr-util –with-apr=/usr/local/apr/bin/apr-1-config

[root@server apr-util-1.5.1]# make && make install

[root@server apr-util-1.5.1]# cd /usr/local/apr-util/

[root@server apr-util]# ln -s /usr/local/apr-util/include/usr/include/apr-util

[root@server apr-util]# cd /etc/ld.so.conf.d/

[root@server ld.so.conf.d]# vim apr-util.conf apr-util 的内容如下图:

Pure-FTPd 实现基于虚拟帐号访问的 FTP 服务器

同样使用 ldconfig 刷新缓存

Pure-FTPd 实现基于虚拟帐号访问的 FTP 服务器

httpd 的安装:

说明:由于在对 httpd 进行相应的配置时,还依赖于 pcre 的库,所以要挂载光盘安装 pcre-devel。

[root@server ~]# mkdir /mnt/cdrom

[root@server ~]# mount /dev/cdrom /mnt/cdrom/

[root@server ~]# cd /mnt/cdrom/Server/

[root@server Server]# rpm -ivh pcre-devel-6.6-2.el5_1.7.i386.rpm

[root@server ~]# tar -jxvf httpd-2.4.4.tar.bz2 -C/usr/local/src/

[root@server ~]# cd /usr/local/src/httpd-2.4.4/

[root@server httpd-2.4.4]# ./configure \

> –prefix=/usr/local/apache \

> –sysconfdir=/etc/httpd \

> –enable-mods-shared=most \

> –enable-so \

> –enable-ssl \

> –enable-mpms-shared=all \

> –enable-rewrite \

> –with-apr=/usr/local/apr/bin/apr-1-config \

> –with-apr-util=/usr/local/apr-util/bin/apu-1-config \

> –with-zlib \

> –with-pcre

[root@server httpd-2.4.4]# make && make install

[root@server httpd-2.4.4]# cd /usr/local/apache/

[root@server apache]# ln -s /usr/local/apache/include/usr/include/apache

[root@server apache]# vim /etc/profile 对环境文件作如下修改:

Pure-FTPd 实现基于虚拟帐号访问的 FTP 服务器

[root@server apache]# . /etc/profile 重新读取环境文件

[root@server apache]# echo $PATH

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/apache/bin

[root@server apache]# vim /etc/man.config 作如下修改:

Pure-FTPd 实现基于虚拟帐号访问的 FTP 服务器

说明:由于源码安装没服务的控制脚本,通常需要我们自己写,而服务器的控制脚本所在的目录:/etc/init.d/ 通常与程序的名字相同。

[root@localhost ~]# cd /etc/init.d/

[root@localhost init.d]# vim httpd httpd 的内容如下:

 

#/bin/bash

# chkconfig:2345 88 78 服务设置在各级别启动与关闭状态

# description:httpd server daemon 实现 chkconfig 自动管理必不可少

lockfile=/var/lock/subsys/httpd

prog=/usr/local/apache/bin/httpd

configfile=/etc/httpd/httpd.conf

./etc/init.d/functions

start(){

[-f $lockfile] && echo”httpd is started” && exit

echo -n “httpd isstarting…”

sleep 1

$prog -f $configfile && echo”ok” && touch $lockfile || echo “failed”

}

stop(){

[! -f $lockfle] && echo”httpd is stoped” && exit

echo -n “httpd is stopping”

sleep 1

killproc httpd && echo”ok” && rm -rf $lockfile || echo “failed”

}

case”$1″ in

start)

start

;;

stop)

stop

;;

restart)

stop

start

;;

*)

echo”USAGE:start|stop|restart”

esac

[root@localhost init.d]# chmod a+x httpd

修改 /etc/httpd/httpd.conf 的配置文件,使得其支持基于 php 开发的 pure-ftpd 的 web 管理页面,需做如下修改:

Pure-FTPd 实现基于虚拟帐号访问的 FTP 服务器

启动 httpd 服务,并且加入 chkconfig 实现服务开机自动启动:

Pure-FTPd 实现基于虚拟帐号访问的 FTP 服务器

2.mysql 数据库的安装,由于 mysql 的源码拆解目录下没有 configure 的配置工具,我们要对 mysql 进行相应的配置必须使用 cmake 工具进行 mysql 的配置。

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2013-10/92037p2.htm

Pure-FTPd 的详细介绍 :请点这里
Pure-FTPd 的下载地址 :请点这里

相关阅读

源码安装 Pure-ftpd 搭建 ftp 服务器 http://www.linuxidc.com/Linux/2013-05/84885.htm

Pure-ftpd 在企业网中的应用 http://www.linuxidc.com/Linux/2012-09/71126.htm

Pure-ftpd 虚拟用户的配置及基于 MySQL 的虚拟用户配置详解 http://www.linuxidc.com/Linux/2012-09/70645.htm

Pure-ftpd 服务器在 Linux 上的搭建 http://www.linuxidc.com/Linux/2012-09/70642.htm

Ubuntu 安装 Pure-ftpd 搭配网页管理使用者系统 http://www.linuxidc.com/Linux/2011-12/50583.htm

二. 安装 pure-ftpd

1. 安装 pure-ftpd 的主程序:

[root@server ~]# tar -zxvf pure-ftpd-1.0.36.tar.gz -C/usr/local/src/

[root@server ~]# cd /usr/local/src/pure-ftpd-1.0.36/

[root@server pure-ftpd-1.0.36]# ./configure \

> –prefix=/usr/local/pureftpd \

> –with-mysql \

> –with-shadow \

> –with-pam \

> –with-welcomemsg \

> –with-uploadscript \

> –with-cookie \

> –with-virtualchroot \

> –with-virtualhosts \

> –with-diraliases \

> –with-quotas \

> –with-puredb \

> –with-sysquotas \

> –with-ratios \

> –with-ftpwho \

> –with-throttling \

> –with-language=simplified-chinese

[root@server pure-ftpd-1.0.36]# make && make install

对安装目录下的 bin 目录和 sbin 目录做如同 httpd 同样的操作。

 

说明:生成 pure-ftpd 的服务脚本和配置文件,由于在配置 pure-ftpd 进行配置时没有指定其配置文件的存放路径,默认在其安装的目录下的 /etc。

[root@server ~]# cd /usr/local/pureftpd/

[root@server pureftpd]# mkdir etc

[root@server pureftpd]# cd /usr/local/src/pure-ftpd-1.0.36/configuration-file/

[root@server configuration-file]# chmod a+x pure-config.pl

[root@server configuration-file]# cp pure-config.pl/usr/local/pureftpd/sbin/

[root@server configuration-file]# cp pure-ftpd.conf/usr/local/pureftpd/etc/

[root@server configuration-file]# cd ../contrib/

[root@server contrib]# chmod a+x RedHat.init

[root@server contrib]# cp redhat.init /etc/init.d/pureftpd

修改 pure-ftpd 的控制脚本文件,对以下三行进行修改:

18 fullpath=/usr/local/pureftpd/sbin/$prog

19 pureftpwho=/usr/local/pureftpd/sbin/pure-ftpwho

24 $fullpath /usr/local/pureftpd/etc/pure-ftpd.conf –daemonize

修改 pure-ftpd 的配置文件,内容如下:

20 ChrootEveryone yes # 固定家目录

40 MaxClientsNumber 100 # 最大连接数

52 MaxClientsPerIP 2 # 每个 ip 地址最大连接数

71 AnonymousOnly no # 允许匿名用户外的用户登录

77 NoAnonymous no # 允许匿名用户登录

116 MySQLConfigFile /user/local/pureftpd/etc/pureftpd-mysql.conf

# 指明 pure-ftpd 与 mysql 数据库的接口文件位置

126 PureDB /usr/local/pureftpd/etc/pureftpd.pdb

# 采用 pureDB 进行 ftp 用户身份验证

214 Bind 127.0.0.1,21 # 绑定地址

215 Bind 192.168.2.100,21

337 CreateHomeDir yes # 虚拟用户登录后自动创建家目录

对 pureftpd-mysql.conf 的接口文件进行相应的操作:

[root@server ~]# mv pureftpd-mysql.conf/usr/local/pureftpd/etc/

修改接口文件的内容:

12 MYSQLServer 127.0.0.1

17 MYSQLPort 3306

22 MYSQLSocket /tmp/mysql.sock

27 MYSQLUser ftp

32 MYSQLPassword tmppasswd

37 MYSQLDatabase ftpusers

45 MYSQLCrypt md5

启动 pure-ftpd 服务,并加入 chkconfig 进行管理:

Pure-FTPd 实现基于虚拟帐号访问的 FTP 服务器

虚拟用户实现基于 pureDB 进行验证,因为虚拟用户想要访问 ftp 服务,在什么验证成功后,会映射成本地账户进行访问。

[root@server etc]# mkdir /ftproot

[root@server etc]# chmod 777 /ftproot/

[root@server etc]# useradd virtualftp -d /ftproot/ -s/sbin/nologin -M

[root@server etc]# chown -R virtualftp:virtualftp /ftproot/

[root@server etc]# pure-pw useradd user1 -u virtualftp -gvirtualftp -d /ftproot/user1 –m # 虚拟账户映射成本地账户 virtualftp

[root@server etc]#pure-pw mkdb /usr/local/pureftpd/pureftpd.pdb # 建立用户数据库

2. 安装和配置 pure-ftp 的 web 管理界面:

[root@server ~]# tar -zxvf PureAdmin-0.3.tar.gz -C/usr/local/apache/htdocs/

[root@server ~]# cd /usr/local/apache/htdocs/

[root@server htdocs]# mv PureAdmin-0.3 pureadmin

切换到 pureadmin 目录,修改 config.php 配置文件,内容如下:

Pure-FTPd 实现基于虚拟帐号访问的 FTP 服务器

最后为了能够使用匿名用户能够访问 ftp 服务器,必须创建 /var/ftp 目录,因为匿名用户的默认家目录就是该目录,而且该目录开始并不存在需要我们手动创建。

[root@server pureadmin]# mkdir /var/ftp

至此,整个环境搭建的工作已经完成,下面可以进行相关的测试了。

三. 测试 FTP 服务器

使用浏览器访问 http://192.168.2.100/pureadmin,后台管理员是 admin 密码是 passwd, 可以基于 web 进行 ftp 服务的管理。

Pure-FTPd 实现基于虚拟帐号访问的 FTP 服务器

我们创建了一个虚拟用户 user1:

Pure-FTPd 实现基于虚拟帐号访问的 FTP 服务器

 

Pure-FTPd 实现基于虚拟帐号访问的 FTP 服务器

 

由于每个用户在登录 FTP 服务器都会进入到自己的家目录,而我们虚拟用户在创建时并没有形成家目录,只有当使用该用户进行登录时才会在本地的 /ftproot/ 目录下形成自己的家目录。现在我们比较一下 user1 访问 FTP 服务器的前后,到底会不会在 /ftproot/ 目录下自动创建家目录:

Pure-FTPd 实现基于虚拟帐号访问的 FTP 服务器

至此,pure-ftpd 的整个搭建和配置已经完成,具体对用户的各种限制需要大家自己摸索。

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计14591字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中