pureftp的安装与配置

pureftp简介

 

      pureftp支持了安全的mysql虚拟账号验证,这样保证了系统账户的安全,与pureftpd-admin配合起来管理起来也更方便,符合人们的使用习惯

PureFTPd是一款专注于程序健壮和软件安全的免费FTP服务器软件(基于BSD License)。其可以在多种类Unix操作系统中编译运行,包括Linux、OpenBSD、NetBSD、FreeBSD、DragonFly BSD、Solaris、Tru64、Darwin、Irix and HP-UX。PureFTPd还有Android移植版本。

     PureFTPd由Troll-FTPd发展而来,Troll-FTPd是Arnt Gulbrandsen于1995年到1999年在Trolltech工作时所作。Gulbrandsen停止维护Troll-FTPd项目后,Frank Denis于2001年开始维护并将其改名为PureFTPd,目前的开发维护者是由Denis领导的团队。

 

下面是有项配置步骤

需要的环境

linux 5.4  pureftpd-mysql.conf  pure-ftpd-1.0.36.tar  pureftp.sql  PureAdmin-0.3.tar

 

要进行管理账号,就要搭建lamp环境

安装下列软件包:

httpd php php-mysql mysql-server mysql-devel

clip_image002

安装完成后启动服务并设置开机自启,给mysql设置口令

clip_image004

把需要的文件传入linux

解压pureftp 到 /usr/local/src

然后切换到解压目录进行安装

clip_image006

./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

make

make install

建立一个配置文件目录

mkdir /usr/local/pureftpd/etc

源代码中的配置文件拷到etc下

cd /usr/local/src/pure-ftpd-1.0.36/configure-file/ cp pure-ftpd.conf /usr/local/pureftpd/etc

chmod 755 pure-config.pl

cp pure-config.pl /usr/local/pureftpd/sbin

clip_image008

切换到源代码目录

cd /usr/local/src/pure-ftpd-1.0.36

cd contrib/

cp redhat.init /etc/init.d/pureftpd

chmod 755 /etc/init.d/pureftpd

vim /etc/init.d/pureftpd

修改路径 18 19 行 fullpath=/usr/local/pureftpd/sbin/$prog

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

24 行 $fullpath /usr/local/pureftpd/etc/pure-ftpd.conf �Cdaemonize

然后就可以启动服务了

service pureftpd start

建立一个虚拟账号所映射的本地账号访问的目录

mkdir /ftproot

chmod -R 777 /ftproot

useradd virtualftp -d /ftproot -s /sbin/nologin -M <创建接下来的虚拟用户对应的系统用户>

chown virtualftp:virtualftp /ftproot

编辑/usr/local/pureftpd/etc/pure-ftpd.conf

77行 不允许匿名访问 改为 yes

修改126行为:

PureDB /usr/local/pureftpd/pureftpd.pdb

336行打开

chrootEveryone yes 限定在自己的家目录

NoAnonymous yes 不允许匿名登录

CreateHomeDir yes 允许用户登录后自动创建家目录 <必须>

配置mysql认证

vim /usr/local/pureftpd/etc/pure-ftp.conf

116行 打开 并修改为

MySQLConfigFile /usr/local/pureftpd/etc/pureftpd-mysql.conf

将pureftpd-mysql.conf 拷到上面的目录下去

clip_image010

打开 修改32行 tmppasswd

45行 改为 MD5

下载pureftp.sql

50 INSERT INTO admin VALUES ('admin',MD5('123')); 此为登录web用的用户密码,可自行修改

然后将其导入

mysql -u root -p < pureftp.sql

将15行前两个 - - 下加空格

Root登录到数据库上

执行

mysql>grant all privileges on ftpusers.* to ftp@localhost identified by 'tmppasswd';

mysql&gt;flush privileges;

mysql&gt;quit;

安装ftp管理界面

tar xvf PureAdmin-0.3.tar.gz -C /var/www/html/

cd /var/www/html/

mv PureAdmin-0.3/ pureadmin

cd pureadmin

vim config.php

$cfg['dbname']='ftpusers'; //mysql db name 所用的库<与前面导入的sql中要一致>

$cfg['dbpasswd']='123'; //mysql password 自己数据库的密码

$cfg['passwdtype']='MD5'; 认证模式<要与pureftpd-mysql.conf中一致>

$cfg['dir']='/ftproot/'; //dir 默认家目录

$cfg['dl']=200; //DLBandwidth 下载速率限制

重启httpd pureftpd

管理账号已经搭建好了

clip_image012

clip_image014

下面把虚拟账号映射为本地账号

修改

/usr/local/pureftpd/etc/pure-ftpd.conf

126行改为 PureDB /usr/local/pureftpd/pureftpd.pdb

/usr/local/pureftpd/bin 下 pure-pw 可产生此文件

先做下面操作可支持在任何地方执行上面指令

echo PATH=$PATH:/usr/local/pureftpd/bin/ &gt;&gt;/etc/profile

source /etc/profile

pure-pw useradd user1 -u virtualftp -g virtualftp -d /ftproot/user1 �Cm 添加虚拟账号

pure-pw mkdb /usr/local/pureftpd/pureftpd.pdb 产生用户库文件

重启服务

即可访问

clip_image016

clip_image018

clip_image020

你可能感兴趣的:(linux,安全,账号,的)