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
标签:FTP,服务,ftp,用户,server,vsftpd,根目录,root From: https://www.cnblogs.com/qm77/p/17736978.html