FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为 “文传协议” 用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。用户能够经过它把本身的PC机与世界各地全部运行 FTP协议的服务器相连,访问服务器上的大量程序和信息。FTP的主要做用,就是让用户链接上一个远程计算机(这些计算机上运行着FTP服务器程序)查看 远程计算机有哪些文件,而后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。FTP用的比NFS更多,因此请你必定要熟练配 置它。数据库
其实在CentOS或者RedHat Linux上有自带的ftp软件叫作vsftp, 使用pure-ftpd搭建ftp服务器,由于这个软件比vsftp配置起来更加灵活和安全。安全
安装pure-ftpd服务器
1. 下载软件ide
pure-ftpd 官网是 http://www.pureftpd.org/project/pure-ftpd 工具
[root@localhost ~]# cd /usr/local/src/测试
[root@localhost src]# wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.42.tar.bz2ci
2. 安装pure-ftpdget
[root@localhost src]# tar jxf pure-ftpd-1.0.42.tar.bz2it
[root@localhost src]# cd pure-ftpd-1.0.42io
[root@localhost pure-ftpd-1.0.42]# ./configure \
--prefix=/usr/local/pureftpd \
--without-inetd \
--with-altlog \
--with-puredb \
--with-throttling \
--with-peruserlimits \
--with-tls
[root@localhost pure-ftpd-1.0.42]# make && make install
配置pure-ftpd
1. 修改配置文件
pure-ftpd 编译安装很快就完成了,并且极少有出现错误的时候,下面就该配置它了:
[root@localhost pure-ftpd-1.0.42]# cd configuration-file
[root@localhost pure-ftpd-1.0.42]# mkdir -p /usr/local/pureftpd/etc/
[root@localhost configuration-file]# cp pure-ftpd.conf /usr/local/pureftpd/etc/pure-ftpd.conf
[root@localhost configuration-file]# cp pure-config.pl /usr/local/pureftpd/sbin/pure-config.pl
[root@localhost configuration-file]# chmod 755 /usr/local/pureftpd/sbin/pure-config.pl
在启动pure-ftpd以前须要先修改配置文件,配置文件为/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
2. 启动pure-ftpd
[root@localhost ~]#
/usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf
或:
/usr/local/pureftpd/sbin/pure-ftpd /usr/local/pureftpd/etc/pure-ftpd.conf
若是是启动成功,会显示一行长长的以Running开头的信息,不然那就是错误信息,
3. 创建帐号
[root@localhost ~]# mkdir /data/www/
[root@localhost ~]# useradd www
[root@localhost ~]# chown -R www:www /data/www/
[root@localhost ~]# /usr/local/pureftpd/bin/pure-pw useradd ftp_user1 -uwww -d /data/www/
Password:
Enter it again:
其中,-u将虚拟用户ftp_user1与系统用户www关联在一块儿,也就是说使用ftp_user1帐号登录ftp后,会以www的身份来读取文 件或下载文件。-d 后边的目录为ftp_user1帐户的家目录,这样可使ftp_user1只能访问其家目录/data/www/. 到这里还未完成,还有最关键的一步,就是建立用户信息数据库文件:
[root@localhost ~]# /usr/local/pureftpd/bin/pure-pw mkdb
pure-pw还能够列出当前的ftp帐号,固然也能够删除某个帐号, 咱们再建立一个帐号:
[root@localhost ~]# /usr/local/pureftpd/bin/pure-pw useradd ftp_user2 -uwww -d /tmp
[root@localhost ~]# /usr/local/pureftpd/bin/pure-pw mkdb
列出当前帐号:
[root@localhost ~]# /usr/local/pureftpd/bin/pure-pw list
删除帐号的命令为:
[root@localhost ~]# /usr/local/pureftpd/bin/pure-pw userdel ftp_user2
测试pure-ftpd
测试须要使用的工具叫作lftp, 先安装一下它:
[root@localhost ~]# yum install -y lftp
测试:
[root@localhost ~]# touch /data/www/123.txt
[root@localhost ~]# lftp ftp_user1@127.0.0.1
口令:
lftp ftp_user1@127.0.0.1:~> ls
drwxr-xr-x 2 514 www 4096 Jun 12 11:14 .
drwxr-xr-x 2 514 www 4096 Jun 12 11:14 ..
-rw-r--r-- 1 514 www 0 Jun 12 11:14 123.txt
登录后,使用 ls 命令能够列出当前目录都有什么文件。
设置开机启动服务,在/etc/rc.local最后加上
/usr/local/pureftpd/sbin/pure-ftpd /usr/local/pureftpd/etc/pure-ftpd.conf >/dev/null 2>&1