ftp服务
FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。
FTP(File Transfer Protocol: 文件传输协议)作用: Internet 上用来传送文件的协议
VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。
特点:
它是一个安全、高速、稳定的FTP服务器;
模式: C/S 模式
端口:
20(传数据)
21(传指令)
工作原理:(面试常见问题)
这里的主动和被动,是相对于的FTP server 端来判断的
如果server 去连接client 开放的端口,说明是主动的,相反,如果client去连接server开放的端口,则是被动的。
两种模式的比较:
(1)PORT(主动)模式模式只要开启服务器的21和20端口,而PASV(被动)模式需要开启服务器大于1024所有tcp端口和21端口。
(2)从网络安全的角度来看的话似乎ftp PORT模式更安全,而ftp PASV更不安全,那么为什么RFC要在ftp PORT基础再制定一个ftp PASV模式呢?其实RFC制定ftp PASV模式的主要目的是为了数据传输安全角度出发的,因为ftp port使用固定20端口进行传输数据,那么作为黑客很容使用sniffer等探嗅器抓取ftp数据,这样一来通过ftp PORT模式传输数据很容易被黑客窃取,因此使用PASV方式来架设ftp server是最安全绝佳方案。
vsftpd部署:
下载vsftpd
yum install vsftpd -y
配置匿名模式:
匿名开放模式:是一种最不安全的认证模式,任何人都可以无需密码验证而直接登录到FTP服务器。
可以向匿名用户开放的权限参数以及作用
参数 |
作用 |
anonymous_enable=YES |
允许匿名访问模式 |
anon_umask=022 |
匿名用户上传文件的umask值 |
anon_upload_enable=YES |
允许匿名用户上传文件 |
anon_mkdir_write_enable=YES |
允许匿名用户创建目录 |
anon_other_write_enable=YES |
允许匿名用户修改目录名称或删除目录 |
第一步:编辑配置文件
第二步:启动ftp,关闭防火墙
systemctl restart vsftpd
setenforce 0
systemctl stop firewalld
第三步:windows访问
第四步:写入文件进行测试
发现没有权限
第五步:赋予写权限
默认访问/var/ftp/pub目录
第六步:再次创建文件
创建成功
配置本地用户模式:
本地用户模式使用的权限参数以及作用
参数 |
作用 |
anonymous_enable=NO |
禁止匿名访问模式 |
local_enable=YES |
允许本地用户模式 |
write_enable=YES |
设置可写权限 |
local_umask=022 |
本地用户模式创建文件的umask值 |
userlist_deny=YES |
启用“禁止用户名单”,名单文件为ftpusers和user_list |
userlist_enable=YES |
开启用户作用名单文件功能 |
第一步:编辑配置文件
在匿名模式的基础上再修改
第二步:重启服务
systemctl restart vsftpd
第三步:创建一个普通用户
[root@lee ~]# useradd ken useradd: user 'ken' already exists [root@lee ~]# passwd ken Changing password for user ken. New password: BAD PASSWORD: The password is shorter than 8 characters Retype new password: passwd: all authentication tokens updated successfully.
第四步:windows访问
输入创建的用户和密码
第五步:创建文件进行测试
文件被上传到了用户家目录下面
用户访问黑名单: