FTP服务器
简介
FTP文件传输协议(File Transfer Protocol),用于Internet上的控制文件的双向传输,是一个应用程序。工作在TCP/IP协议族的应用层,其传输层协议是TCP协议,目的在于提高文件传输的共享性和可靠性,是基于客户/服务器模式工作的。
FTP协议
相比其他协议,如HTTP协议,FTP协议要复杂一些。与一般的C/S模型只会建立一个socket连接,这个连接同时处理服务器和客户端的连接命令和数据传输。而FTP会建立两个连接,将命令与数据分开传输,正是因为这样,提高了传输效率。
FTP使用两个端口,分别为控制端口(命令端口)和数据端口。控制端口号一般为21,数据端口一般为20。控制socket用来传输命令,数据socket用来传输数据。每一个FTP命令发送后,FTP服务器就会返回一个字符串,其中包含一个响应码和一些说明信息,其中响应码主要用于判断命令是否被成功执行了。
FTP服务器安装
[root@gw share]# yum -y install vsftpd
#下载ftp服务
[root@gw f1]# firewall-cmd --add-service=ftp
[root@gw f1]# firewall-cmd --reload
#在防火墙中加入ftp服务
[root@gw f1]# firewall-cmd --list-all
#查看防火墙规则是否添加ftp服务
[root@gw f1]# useradd f2
[root@gw f1]# passwd f2
#创建ftp用户
[root@gw f2]# chsh f2
#更改f2运行的shell
上图所示警告/sbin/nologin并不在/etc/shells文件中,则将其添加下图内容
[root@gw f2]# finger f2
#查看f2所使用的shell是否已改变
[root@gw f2]# vi /etc/vsftpd/vsftpd.conf
#修改下图所示内容
[root@gw f2]# systemctl restart vsftpd
[root@gw f2]# systemctl status vsftpd
#重启服务
***当报错出现500 OOPS: vsftpd: refusing to run with writable root inside chroot ()是由于用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
改正方法
- chmod a-w /home/用户目录 #去除用户主目录的写权限
- vi /etc/vsftpd/vsftpd.conf添加allow_writeable_chroot=YES***
测试结果