.....
分类: 系统运维
2014-10-12 01:51:51
Linux系统:Centos6.5 i386
Pureftpd型号:pure-ftpd-1.0.36
FTP客户端:FileZilla
Pureftpd匿名下载,匿名禁止上传;利用PureDB建立虚拟用户;虚拟用户可,上传,下载,删除等功能;与日志信息。
# 自动升级软件系统内核
[root@ftp ~]# yum –y update
# 安装GCC
[root@ftp ~]# yum –y install gcc
# 解压Pureftpd源码
[root@ftp Software]# tar -zxvf pure-ftpd-1.0.36.tar.gz
# 进入目录
[root@ftp Software]# cd pure-ftpd-1.0.36
# 对Pureftpd进行编译
[root@ftp pure-ftpd-1.0.36]#./configure --prefix=/usr/local/pureftpd/ –with-puredb -with-everything -with-rfc2640 -with-altlog
# pureftpd 安装目录
! --prefix=/usr/local/pureftpd/
# 编译支持puredb 本地数据库,虚拟用户建立
! –with-puredb
# 安装大部分功能
! -with-everything
# 编译支持 UTF-8 字符集
! -with-rfc2640
# pureftpd日志
! -with-altlog
# 编译完 make
[root@ftp pure-ftpd-1.0.36]# make
[root@ftp pure-ftpd-1.0.36]# make install
现在/usr/local/pureftpd/目录下是没有etc目录和配置文件的。
# 进入编译好的puerftpd目录下,建立etc目录
[root@ftp pure-ftpd-1.0.36]# cd /usr/local/pureftpd/
[root@ftp pureftpd]# mkdir etc
# 进入源码文件下, /opt/Software/pure-ftpd-1.0.36 这是我源码存放位置
# 进入configuration-file目录
# 复制配置文件到/usr/local/pureftpd/etc/目录下
[root@ftp pure-ftpd-1.0.36]# cd configuration-file/
[root@ftp configuration-file]# cp pure-ftpd.conf /usr/local/pureftpd/etc/pure-ftpd.conf
# redhat.init 是启动文件
[root@ftp pure-ftpd-1.0.36]# cd contrib/
[root@ftp contrib]# chmod +x redhat.init
[root@ftp contrib]# cp redhat.init /etc/init.d/pureftpd
# 修改启动文件的18 19 24行,都是路径错了。
[root@ftp configuration-file]# vi /etc/init.d/pureftpd
17行fullpath=/usr/local/pureftpd/bin/$prog
18行pureftpwho=/usr/local/pureftpd/bin/pure-ftpwho
24行$fullpath /usr/local/pureftpd/etc/pure-ftpd.conf –daemonize
# 修改配置文件
[root@ftp configuration-file]# vi /usr/local/pureftpd/etc/pure-ftpd.conf
! 本地数据库,虚拟用户
126行 PureDB /usr/local/pureftpd/etc/pureftpd.pdb
! 禁止匿名用户上传文件
279行 AnonymousCantUpload yes
! 开启日志文件功能
318行 AltLog w3c:/var/log/pureftpd.log
! UTF-8的支持
449行 FileSystemCharset UTF-8
450行 ClientCharset UTF-8
! UTF-8的支持是防止从客户端上传到服务端中乱码。
# 修改匿名用户访问目录
[root@ftp /]# vi /etc/passwd
! 匿名用户会访问名为ftp用户所指定的目录为主目录
! 直接修改就可以
ftp:x:14:50:FTP
User:/10tb/public:/sbin/nologin
# 新建一个制定ID为1000的系统组
[root@ftp /]# groupadd -g 1000 ftpgroup
# 新建系统用户ID为1000,加入ftpgroup组中
[root@ftp /]# useradd –g 1000 –u 1000 –d /dev/null –s /sbin/nologin ftpuser
# 进入purefptd目录下的bin文件夹内
[root@ftp /]# cd /usr/local/pureftpd/bin/
# 建立虚拟用户
[root@ftp bin]# ./pure-pw useradd kingsh2012 –u ftpuser –d /10tb/public/ –m
! pure-pw useradd 虚拟用户名 –u 寄生到系统用户名 –d FTP目录 –m(把用户密码加入PDB数据库中,不需要重启FTP)
! 虚拟用户的文件会存放在 /usr/local/pureftpd/etc/ 目录下 pureftpd.passwd pureftpd.pdb 生成这两个文件
# 把FTP目录的所属用户和组改为虚拟用户所依托的系统用户和组
[root@ftp bin]# chmod –R ftpuser:ftpgroup /10tb/public
# 查看用户配置
[root@ftp bin]# ./pure-pw show kingsh2012
# 查看所有虚拟用户
[root@ftp bin]# ./pure-pw list
# 服务器启动
[root@ftp bin]# /etc/init.d/pureftpd start
Starting pure-config.pl: Running: /usr/local/pureftpd/sbin/pure-ftpd --daemonize -A -c50 -B -C8 -d -D -fftp -H -I15 -lpuredb:/usr/local/pureftpd/etc/pureftpd.pdb -L10000:8 -m4 -s -U133:022 -u100 -i -Ow3c:/var/log/pureftpd.log -k99 -Z -8UTF-8 -9UTF-
! 这样就证明启动成功了。
# 进程下查看 ps –ef
# 这个就是 pureftpd 的进程
root 2805 1 0 09:36 ? 00:00:00 pure-ftpd (SERVER)