FTP服务

FTP服务-----用来传输文件的协议

FTP (File Transfer Protocol,文件传输协议)是典型的C/S架构的应用层协议,需要由服务端软件、客户端软件两个部分共同实现文件传输功能。FTP客户端和服务器之间的连接是可靠的,面向连接的,为数据的传输提供了可靠的保证。

FTP服务器默认使用TCP协议的20、21端口与客户段进行通信

20端口用于建立数据连接,并传输文件按数据

21 端口用于建立控制连接,并传输FTP控制命令

FTP工作模式

主动模式:服务器主动发起数据连接

FTP客户端首先和FTP Server 的TCP21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口发送数据。FTP server必须和客户端建立一个新的连接用来传送数据。


被动模式:服务器被动等待数据连接

在建立控制通道的时候和Standard模式类似,当客户端通过这个通道发送PASV命令的时候,FTP server打开一个位于1024和5000之间的随机高位端口并且通知客户端在这个端口上传送数据的请求,然后FTP server将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。

 FTP服务安装和配置

1.检查软件包并安装

[root@xiayan ~]# rpm -q vsftp             #查询软件是否已安装
未安装软件包 vsftp 
[root@xiayan ~]# yum install -y vsftpd    #安装软件
[root@xiayan ~]# systemctl start vsftpd   #开启服务
[root@xiayan ~]# systemctl enable vsftpd  #设置开机自启动

2.配置备份

[root@xiayan ~]# cd /etc/vsftpd/                     
[root@xiayan vsftpd]# cp vsftpd.conf vsftpd.conf.bak #备份配置文件

匿名用户登录 

修改配置文件

vim /etc/vsftpd/vsftpd.conf

anonymous_enable=YES         //开启匿名用户访问,默认开启
write_enable=YES             //开放服务器的写权限,默认开启
anon_umask=022               //设置匿名用户上传数据的权限(反掩码)
anon_upload_enable=YES       //允许匿名用户上传文件,默认注释
anon_mkdir_write_enable=YES  //允许匿名用户创建(上传)目录,默认注释
anon_other_write_enable=YES  //允许删除、重命名、覆盖等操作,需自行添加
[root@xiayan ~]# chmod 777 -R /var/ftp/pub/    //更改pub权限,否则匿名用户无法进行读写

 

 

 #为匿名访问ftp的根目录下的 pub子目录设置最大权限,以便匿名用户上传数据
chmod 777 /var/ftp/pub/

#开启服务,关闭防火墙和增强型安全功能
systemctl start vsftpd
systemctl stop firewalld
setenforce 0

 

 从服务器下载文件到客户端成功

注意:匿名用户访问的服务器端创建的文件要在/var/ftp/目录下

 
 用户登录 

设置本地用户验证访问ftp,并禁止切换到ftp以外的目录(默认登录的根目录为本地用户的家目录)

修改配置文件

vim /etc/vsftpd/vsftpd.conf
local_enable=Yes                 #启用本地用户
anonymous_enable=NO              #关闭匿名用户访问
write_enable=YES                 #开放服务器的写权限(若要上传,必须开启)
local_umask=077                   #可设置仅宿主用户拥有被上传的文件的权限(反掩码)
chroot_local_user=YES            #将访问禁锢在用户的宿主目录中
allow_writeable_chroot=YES         #允许被限制的用户主目录具有写权限

重启服务
systemctl restart vsftpd

 

修改匿名用户、本地用户登录的默认根目录

anon_root=/var/www/html            #anon_root 针对匿名用户
local_root=/var/www/html        #local_root 针对系统用户 

(手动添加)

使用user_list 用户列表文件

vim /etc/vsftpd/user_list
//末尾添加zhangsan用户
zhangsan

vim /etc/vsftpd/vsftpd.conf
userlist_enable=YES                #启用user_list用户列表文件
userlist_deny=NO                

#设置白名单,仅允许user_list用户列表文件的用户访问。

userlist_deny=YES 

#默认为YES,为黑名单,禁止user_list用户列表文件的用户访问

创建两个用户  cx  www,用户cx加入到/etc/vsftpd/user_list中

1.当userlist_enable=YES,userlist_deny=NO时,仅允许/etc/vsftpd/user_list中用户登录

 2.当userlist_enable=YES,userlist_deny=YES时,设置/etc/vsftpd/user_list为黑名单

3. userlist_enable=NO,userlist_deny=NO时,都可以

 4.userlist_enable=NO,userlist_deny=YES时,都可以

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值