Linux下ftp服务的搭建

来源:互联网 发布:了解茶的软件 编辑:程序博客网 时间:2024/05/17 08:40

ftp工作是会启动两个通道:
控制通道 , 数据通道
在ftp协议中,控制连接均是由客户端发起的,而数据连接有两种模式:port模式(主动模式)和pasv(被动模式)
PORT模式:
在客户端需要接收数据时,ftp_client(大于1024的随机端口)-PORT命令->ftp_server(21)  发送PORT命令,这个PORT命令包含了客户端是用什么端口来接收数据(大于1024的随机端口),在传送数据时,ftp_server将通过自己的TCP 20 端口和PORT中包含的端口建立新的连接来传送数据。

PASV模式:

传送数据时,ftp_client--PASV命令-->ftp_server(21) 发送PASV命令时,ftp_server自动打开一个1024--5000之间的随机端口并且通知ftp_client在这个端口上传送数据,然后客户端向指定的端口发出请求连接,建立一条数据链路进行数据传输。

一、安装

yum -y install vsftpd

service vsftpd start

chkconfig --level 345 vsftpd on

二、登录方式

LINUX下实现FTP服务的软件很多,最常见的有vsftpd,Wu-ftpdProftp.Red Hat Enterprise Linux中默认安装的是vsftpd.

  访问FTP服务器时需要经过验证,只有经过了FTP服务器的相关验证,用户才能访问和传输文件.vsftpd提供了3ftp登录形式:

 (1)anonymous(匿名帐号)

使用anonymous是应用广泛的一种FTP服务器.如果用户在FTP服务器上没有帐号,那么用户可以以anonymous为用户名,以自己的电子邮件地址为密码进行登录.当匿名用户登录FTP服务器后,其登录目录为匿名FTP服务器的根目录/var/ftp.为了减轻FTP服务器的负载,一般情况下,应关闭匿名帐号的上传功能.

  (2)real(真实帐号)

real也称为本地帐号,就是以真实的用户名和密码进行登录,但前提条件是用户在FTP服务器上拥有自己的帐号.用真实帐号登录后,其登录的目录为用户自己的目录,该目录在系统建立帐号时系统就自动创建

  (3)guest(虚拟帐号)

如果用户在FTP服务器上拥有帐号,但此帐号只能用于文件传输服务,那么该帐号就是guest,guest是真实帐号的一种形式,它们的不同之处在于,geust登录FTP服务器后,不能访问除宿主目录以外的内容.

三、配置文件

全局设置:

listen=YES#是否监听端口

write_enable=YES#是否允许写

download_enable=YES#是否允许下载

connect_from_port_20=YES#主动连接使用20端口

psav_enable=YES#是否开启被动模式

userlist_enable=YES#是否启用/etc/vsftpd/ftpusers

userlist_deny=YES#YES时/etc/vsftpd/ftpusers为黑名单,NO为白名单

guest_enable=YES#是否开启来宾(虚拟账户),所有非匿名成为指定账户

guest_username=ftp

anonymous_enable=YES#是否开启匿名

tcp_wrappers=YES

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

匿名用户配置:

anon_root=/var/ftp

anon_upload_enable=YES

anon_mkdir_enable=NO

anon_umask=077

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

本地账户:

local_enable=YES
local_umask=022

chroot_local_user=YES#是否禁锢本地账户,不禁锢登录后可以切换进其他账户造成危险

local_root=/var/ftp





1 0