FTP服务

发布时间 2023-09-29 14:54:04作者: q_7

FTP服务

一:FTP的工作原理

1:FTP的概念

 

2:FTP工作的2种模式

a:主动模式

2台虚拟机,一台作为客户机,另外一台作为服务器,客户机上面的n号端口去访问服务上面的21号端口,建立连接,并告诉20号端口要去连接客户机的n+1号端口,主动去连接了n+1号端口,建立了数据连接

b:被动模式

客户机n号端口去访问服务器上面的21号端口,并返回20号端口给客户机,客户机的n+1号端口去再去连接服务器的21号端口,这样就建立起了数据连接

3:登录ftp服务的三种用户

a:虚拟用户

虚拟用户是登录ftp服务最常见的用户,不需要输入账户和密码,就可以去登录到ftp服务,但是只能登录到ftp服务的根目录下,不能去访问其他的目录,而且默认只能下载文件,不能上传文件

b:本地用户

本地用户登录时,那个用户在服务器上面,并且需要输入账户和密码,可以访问到除了ftp根目录下以外的其他目录,可以上传文件和下载文件

c:虚拟用户

不需要账户和密码,只是一个虚拟的存在

二:FTP的配置文件

1:/var/ftp

这个目录是ftp的默认的根目录,并且,这个根目录默认情况下,不能写入,但是这个根目录下的子目录有写入的权限

2:/etc/vsftpd/vsftpd.conf

这个目录是ftp的主配置文件,以匿名用户或者本地用户登录时,都需要修改里面的参数才能登录(详情见后面的操作)

3:/etc/vsftpd/user_list

这个目录是本地用户登录的名单,要想要启动这个目录,需要修改ftp主配置文件里面的2个参数

local_userlist_enable=YES 和local_userlist_deny=NO 这2个参数

4:/etc/vsftpd/chroot_list

这个是例外的用户名单,与2个参数有关,chroot_list_enable 和chroot_local_user ,这2个参数不同的组合有不一样的效果

 

chroot_list_enable=YES

(启用例外名单)                                    

chroot_list_enable=NO

(不启用例外名单)

chroot_local_user=YES

(所有的用户都限制在了ftp的根目录下)

除了chroot_list中的用户能去访问其他的目录,其他的用户都不行  所有的用户都只能访问ftp的根目录,没有例外

chroot_local_user=NO

(所有用户都没有被限制在ftp的根目录下)

除了chroot_list中的用户不能去访问其他的目录之外,其他的用户都行

所有用户都可以访问其他的目录,没有例外 

 

 

 

 

 

 

 

 

 

5:/etc/vsftpd/ftpusers

三:用户登录的方式

# 在登录之前先自己配置好网络(仅主机或者nat模式都行),yum源,挂载到/media下,应该都会配吧

1:匿名用户的登录的方式

服务器的操作

# ftp服务的安装包为vsftpd软件,先安装vsftpd软件
[root@server /]# yum -y install vsftpd
#安装之后启动这个服务,设置为开机自动启动
[root@server /]# systemctl start vsftpd
[root@server /]# systemctl enable vsftpd
#并查看这个ftp服务的状态
[root@server /]# systemctl status vsftpd
#其中有running就代表着已经已经启动了
#创建一个ftp服务共享文件夹,并在里面输入一些测试的内容
[root@server /]# mkdir /ftp-share
[root@server ftp-share]# echo 123456 >> test.txt

#修改主配置文件的参数
[root@server vsftpd]# vim vsftpd.conf 
#在末尾加入这个数据,指定匿名用户登录的根目录
anon_root=/ftp-share
#保存并退出
:x
#重启vsftpd服务
[root@server vsftpd]# systemctl restart vsftpd
#关闭防火墙和临时关闭selinux
[root@server vsftpd]# systemctl stop firewalld
[root@server vsftpd]# setenforce 0
[root@server vsftpd]# getenforce 
Permissive