1.文件传输协议
文件传输协议(FTP,File Transfer Protocol),即能够让用户在互联网中上传、下载文件的文件协议,而FTP服务器就是支持FTP传输协议的主机,要想完成文件传输则需要FTP服务端和FTP客户端的配合才行。
通常用户使用FTP客户端软件向FTP服务器发起连接并发送FTP指令,服务器收到用户指令后将执行结果返回客户端。
FTP协议占用两个端口号:
21端口:命令控制,用于接收客户端执行的FTP命令。
20端口:数据传输,用于上传、下载文件数据。
FTP数据传输的类型:
主动模式:FTP服务端主动向FTP客户端发起连接请求。
被动模式:FTP服务端等待FTP客户端的连接请求。
2. 安装vsftpd服务程序
安装vsftpd服务程序包:
命令:[root@localhost ~]# yum install vsftpd –y
相关命令:清空默认的防火墙默认规则:
iptables -F
保存清空后的防火墙规则表:
service iptables save
Vsftpd的程序与配置文件:
主程序 |
/usr/sbin/vsftpd |
用户禁止登陆列表 |
/etc/vsftpd/ftpusers |
主配置文件 |
/etc/vsftpd/vsftpd.conf |
vsftpd程序配置文件参数的作用:
listen=[YES|NO] |
是否以独立运行的方式监听服务。 |
listen_address=IP地址 |
设置要监听的IP地址。 |
listen_port=21 |
设置FTP服务的监听端口 21端口(ftp) 20端口(ftp-date) |
3.Vsftpd的验证方式
vsftpd程序提供的FTP服务可选认证方式,分别为匿名访问、本地用户和虚拟用户:
匿名访问:任何人无需验证口令即可登入FTP服务端。
本地用户:使用FTP服务器中的用户、密码信息。
虚拟用户:创建独立的FTP帐号资料。
顾名思义匿名访问就是所有人均可随意登入FTP服务,这样自然会产生安全问题,一般用于存放公开的数据。
而本地用户与虚拟用户则需要用户提供帐号及口令后才能登入FTP服务,更加的安全,而虚拟用户则是最安全的。
(1)匿名访问模式
FTP匿名访问模式是比较不安全的服务模式,尤其在真实的工作环境中千万不要存放敏感的数据,以免泄露。
vsftpd程序默认已经允许匿名访问模式,我们要做的就是开启匿名用户的上传和写入权限,写入下面的参数:
# vim /etc/vsftpd/vsftpd.conf
参数 |
作用 |
anonymous_enable=YES |
允许匿名访问模式。 |
anon_umask=022 |
匿名用户上传文件的umask值。 |
anon_upload_enable=YES |
允许匿名用户上传文件 |
anon_mkdir_write_enable=YES |
允许匿名用户创建目录 |
anon_other_write_enable=YES |
允许匿名用户修改目录名或删除目录 |
按以上参数确认、更改或添加好以后,保存并退出vsftpd.conf文件,然后重启vsftpd服务程序并设置为开机自启动。
systemctl restart vsftpd
systemctl enable vsftpd
如果重启vsftpd服务程序时没有报错,此时便可以使用FTP客户机(192.168.14.100)尝试登入FTP服务机(192.168.14.200)系统中ftp命令默认没有安装,请执行”yum install ftp -y“即可安装完毕
在客户端尝试登入FTP服务:
我哭了o(╥﹏╥)o