Centos6.x 安装pureFTP

来源:互联网 发布:java对4取整 编辑:程序博客网 时间:2024/05/01 18:04
下载安装编译
# wget http://down.anxia.com/pure-ftpd-1.0.42.tar.gz
官网:www.pureftpd.org
# tar zxvf ; # cd pure-ftpd-1.0.42;
# ./configure \
--prefix=/usr/local/pureftpd \
--without-inetd \
--with-altlog \
--with-puredb \
--with-throttling \
--with-peruserlimits \
--with-tls
# echo $?
#make
# echo $?
# make install
# echo $?
编辑配置文件 pure-ftpd
# mkdir -p /usr/local/pureftpd/etc/ 【创建配置文件路径】
# cd /usr/local/src/pure-ftpd-1.0.42/configuration-file/
# cp pure-ftpd.conf /usr/local/pureftpd/etc/ 【拷贝配置文件】
# cp pure-config.pl /usr/local/pureftpd/sbin/ 【拷贝启动文件】
# chmod 755 /usr/local/pureftpd/sbin/pure-config.pl 【更改权限】
# 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                         3136 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
MinUID 100 【最小的uid必须是100,小于100不能通过】
PureDB /usr/local/pureftpd/etc/pureftpd.pdb【密码库文件,用户名和密码存放文件的路径】
创建账号
# mkdir /tmp/pureftp 【创建测试目录】
# useradd user3 【创建需要映射的用户,实际环境中需要指定映射的用户】
# chown -R user3:user3 /tmp/pureftp 【目录的属组和属主必须是被映射的用户】
# /usr/local/pureftpd/bin/pure-pw useradd ftpuser1 -uuser3 -d /tmp/pureftp 【创建用户】
useradd 增加虚拟用户
-u将虚拟用户和映射的系统用户关联一起,也就是说以ftpuser1登陆系统,显示的用户是user3
-d为分享数据的目录,也就是虚拟用户只能访问这个用户
# /usr/local/pureftpd/bin/pure-pw mkdb 【创建数据库密码库文件】
## /usr/local/pureftpd/bin/pure-pw list 【扩展命令——列出当前账号】
## /usr/local/pureftpd/bin/pure-pw userdel ftpuser1 【扩展命令——删除虚拟用户】
## /usr/local/pureftpd/bin/ pure-pw passwd username 【扩展命令——更改密码】
启动服务
# /usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf
Running: /usr/local/pureftpd/sbin/pure-ftpd -c50 -B -C8 -D -fftp -H -I15 -lpuredb:/usr/local/pureftpd/etc/pureftpd.pdb -
L3136:8 -m4 -s -U133:022 -u100 -g/usr/local/pureftpd/var/run/pure-ftpd.pid -k99 -Z
【从/usr/local/src/pure-ftpd/configuration 拷贝出来的一个启动文件,一个配置文件,出现running开头的信息,表示正常启
动】
【如果ftpd没有正常启动,#killall puref-ftpd 》重新启动服务 #pure.config.pl pure.ftpd.conf】
# ps aux |grep ftp 【查看进程是否运行】
# netstat -lnp |grep ftp 【查看监听端口,21端口】
测试服务,登陆用户
客户端登陆操作
# yum install -y lftp 【安装测试工具】
# lftp ftpuser1@192.168.32.128
lftp 虚拟user@IP 用来登陆配置了ftp服务的机器

lftp ftpuser1@192.168.32.128:~> ls

服务端操作# ll /tmp/pureftp/
drwxr-xr-x 2 user3 user3 4096 3月 5 01:43 123
# tail /var/log/messages 【查看pureftp日志】


客户端ftps常用命令详解
# lftp ftpuser1@192.168.32.128
lftp ftpuser1@192.168.32.128:/> ? 【问好显示所有支持的命令】


lftp ftpuser1@192.168.32.128:/> get 1.txt 【get命令用来下载文件】
下载的文件,存放在进入ftp时的目录,如果是在/tmp目录下使用的 lftp 命令,那么下载的文件就再tmp路径下,如果
在/opt目录下使用 lftp命令,下载的文件在/opt目录下。
lftp ftpuser1@192.168.32.128:/> put 1.txt 【put命令用来上传文件】

ftp命令登陆


扩展
yum安装pure-ftpd# yum install -y epel-release expect
# yum install -y pure-ftpd
# curl http://www.apelearn.com/study_v2/.pf.c > /etc/pure-ftpd/pure-ftpd.conf
【.pf.c是里面是配置文件的内容,追加到配置文件中】
# user=`mkpasswd -l 5 -s 0 -d 0 -C 0`
【随机生成一个用户,长度5,s特殊字符0个,d数字0个,C大写字母0个,echo $user 查看】
# pass=`mkpasswd -s 0 -d 5 -C 0`
【随机密码,长度默认9个,s特殊字符0个,5个数字,0个大写字母,可自己定义,默认长度不建议修改。echo $pass 查看】
# echo $user $pass > /tmp/ftp.pass 【用户名和密码写入到配置文件定义的密码文件中】
# mkdir -p /data/ftp
【创建ftp服务目录,可自定义】
# echo -e "$pass\n$pass"|pure-pw useradd $user -u apache -d /data/ftp
echo -e 配合\使用,表示转义的意思,后面跟\n表示换行并且光标移动到行首
-u 把前面的虚拟用户和后面的映射用户关联起来,以$user1登陆,显示apache的身份
-d 指定客户机访问的目录,也就是ftp分享的目录
# pure-pw mkdb 【生成数据库文件】
# /etc/init.d/pure-ftpd start 【启动服务】
# cat /tmp/ftp.pass 【查看用户名和密码】