ftp

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为 “文传协议” 用于Internet上的控制文件的双向传输。
FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)查看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。
在CentOS或者RedHat Linux上有自带的ftp软件叫做vsftpd  

 

CentOS 6.5 安装ftp

 

使用pure-ftpd搭建FTP服务
pure-ftpd 官网 http://www.pureftpd.org/project/pure-ftpd  
wget http://download.pureftpd.org/pub ... ftpd-1.0.32.tar.bz2  

http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.32.tar.bz2

tar jxf pure-ftpd-1.0.32.tar.bz2 
cd pure-ftpd-1.0.32  切换到解压目录
./configure   --prefix=/usr/local/pureftpd   --without-inetd   --with-altlog   --with-puredb   --with-throttling   --with-peruserlimits   --with-tls

安装选项
make && make install  编译与编译安装

 

cd configuration-file 切换到源码路径目录中
mkdir -p /usr/local/pureftpd/etc/  
cp pure-ftpd.conf /usr/local/pureftpd/etc/pure-ftpd.conf 
cp pure-config.pl /usr/local/pureftpd/sbin/pure-config.pl 
chmod 755 /usr/local/pureftpd/sbin/pure-config.pl 

清空之前的pure-ftpd.conf配置文件加入如下:

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

---------------------------------------------------------------------------------------------

mkdir /data/ftp  #创建ftp服务的目录

chmod  777 /data/ftp#所有人都可以写这个目录


useradd yuananqin  #创建以哪个账号的身份登录ftp


/usr/local/pureftpd/bin/pure-pw useradd test1  -uyuananqin  -d /data/ftp  #建立虚拟账号就是这个pure-ftpd软件的账户属于yuananqin这个用户,当你在客户端创建文件的时候,文件所属主跟组都属于yuananqin


/usr/local/pureftpd/bin/pure-pw mkdb #创建密码文件 每次创建一个用户都用重新创建一个mkdb
/usr/local/pureftpd/bin/pure-pw list #列出用户
/usr/local/pureftpd/bin/pure-pw userdel test1 #删除账号

killall  pure-ftpd//删除所有进程

启动pure-ftpd服务的命令: /usr/local/pureftpd/sbin/pure-config.pl  /usr/local/pureftpd/etc/pure-ftpd.conf

 

用其他终端登录 命令如: ftp 或者lftp

ftp 192.168.1.122

lftp test2@192.168.1.122

test2表示创建的pure-ftpd软件用户

目录中的文件不是实时刷新的/data/ftp

put filename 上传

get  filename 下载

?  查看表示显示支持的命令

 

 

------------------------------------------------------------------------------------------------------------------------------

vsftp

vsftp配置ftp服务  (文档http://note.youdao.com/share/?id=4be23a089a56f46a9f56d5f7b97fca96&type=note
yum install -y vsftpd db4-utils

 db4-utils 是用来生产密码文件的。

装完以后可以直接启动 :/etc/init.d/vsftpd start
建立虚拟账号

useradd virftp -s /sbin/nologin  #建立一个与虚拟账号对应的系统账号
建立虚拟账户相关的文件  

vim  /etc/vsftpd/vsftpd_login //建立虚拟账户相关的账户密码文件奇数行为账号偶数行为密码 内容如下: 
    test1
    123456
    test2
    abcdef
chmod 600 /etc/vsftpd/vsftpd_login #修改一下权限
生成对应的库文件 db_load -T -t hash -f /etc/vsftpd/vsftpd_login  /etc/vsftpd/vsftpd_login.db #虚拟账号密码文件对应的数据库文件

-----------------------------------------------------------------------
建立虚拟账号相关的目录以及配置文件

mkdir  /etc/vsftpd/vsftpd_user_conf
cd   /etc/vsftpd/vsftpd_user_conf 

创建和用户对应的配置文件(文件名跟用户名一致)

vim /etc/vsftpd/vsftpd_user_conf/test1
vim test1 内容如下:
local_root=/home/virftp/test1#
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000


mkdir /home/virftp/test1
修改权限: chown -R virftp:virftp /home/virftp
vim /etc/pam.d/vsftpd   在最开头添加两行 
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login   //如果是64位系统,则改为/lib64/security/pam_userdb.so 
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login  //如果是64位系统,则改为/lib64/security/pam_userdb.so 
再修改  vim /etc/vsftpd/vsftpd.conf

anonymous_enable=YES改为anonymous_enable=NO
#anon_upload_enable=YES 改为 anon_upload_enable=NO
#anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO
再增加:

chroot_local_user=YES

guest_enable=YES

guest_username=virftp

virtual_use_local_privs=YES

user_config_dir=/etc/vsftpd/vsftpd_user_conf

启动vsftpd服务 /etc/init.d/vsftpd start  

 

get filename

put filename

mirror 目录

mirror -R 目录 上传
 文件在 /home/virftp/test1/
vsftp使用mysql存放虚拟用户并验证 http://www.aminglinux.com/bbs/thread-342-1-1.html
ftp的主动和被动模式  http://www.aminglinux.com/bbs/thread-961-1-1.html

 

posted on 2015-02-01 20:28  后进后退  阅读(293)  评论(0)    收藏  举报