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

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

559次阅读
没有评论

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

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7984705
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
免费领取huggingface的2核16G云服务器,超简单教程

免费领取huggingface的2核16G云服务器,超简单教程

免费领取 huggingface 的 2 核 16G 云服务器,超简单教程 前言 HuggingFace.co...
星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...