FTP服务--用于文件传输的协议
FTP服务–用于文件传输的协议
FTP使用的端口号
FTP服务器默认使用TCP协议的20、21端口与客户端进行通信
端口:ftp默认使用TCP协议的20、21号端口用于客户端通信
20端口用于建立数据连接,并传输文件数据
21端口用于建立控制连接,并传输FTP控制命令
FTP数据连接模式
FTP数据连接分为主动模式和被动模式
**主动模式:**服务器主动发起数据连接
**被动模式:**服务器被动等待数据连接(使用居多)
相关部署
FTP部署
安装FTP服务
yum install -y vsftpd #yum一键安装
cd /etc/vsftpd/ #切换到ftp配置目录下
cp vsftpd.conf vsftpd.conf.bak
或 cp vsftpd.conf{,.bak} #进行原配置文件的备份
1.设置匿名用户访问的FTP服务(最大权限)
vim /etc/vsftpd/vsftpd.conf anonymous_enable=yes ##开启匿名用户访问。默认己开启 write_enable=YES ##开放服务器的写权限(若要上传,必须开启)。默认已开启 anon_umask=022 ##设置匿名用户所上传数据的权限掩码(反掩码)。 anon_upload enable=YES ##允许匿名用户上传文件。默认己注释,需取消注释 anon_mkdir_write_enable=YES ##允许匿名用户创建(上传)目录。默认已注释,需取消注释 anon_other write enable =YES ##允许删除、重命名、覆盖等操作。需添加
2.为匿名访问ftp的根目录下的pub子目录设置最大权限,以便匿名用户上传数据
chmod 777 /var/ftp/pub
3.开启服务,关闭防火墙和增强型安全功能
systemctl start vsftpd ##开启服务 systemctl stop firewalld ##关闭防火墙 setenforce 0 ##关闭系统高级防护
4.匿名访问测试
win10中打开cmd命令提示符 ftp 192.168.184.50 #建立ftp连接 ftp> pwd #匿名访问ftp的根目录为Linux系统的/var/ftp/目录 ftp> ls #查看当前目录 ftp> cd pub #切换到pub 目录 ftp> get 文件名 #下载文件到当前Windows本地目录 ftp> put 文件名 #上传文件到ftp目录 ftp> quit #退出
设置本地用户验证访问ftp,并禁止切换到ftp以外的目录(默认登录的根目录为本地用户的家目录)
修改配置文件
vim /etc/vsftpd/vsftpd.conflocal_enable=Yes ##启用本地用户 anonymous_enable=NO ##关闭匿名用户访问 write_enable=YES ##开放服务器的写权限(若要上传,必须开启) local_umask=077 ##可设置仅宿主用户拥有被上传的文件的权限(反掩码) chroot_local_user=YES ##将访问禁锢在用户的宿主目录中 allow_writeable_chroot=YES ##允许被限制的用户主目录具有写权限 重启服务 systemctl restart vsftpd ftp 192.168.80.10 或 ftp:/lzhangsan@192.168.80.10
修改匿名用户、本地用户登录的默认根目录
anon root=/var/www/html #anon root针对匿名用户 local _root=/var/ www/ html #local root针对系统用户
黑名单白名单设置
使用user_list用户列表文件vim /etc/vsftpd/user_list//末尾添加zhangsan用户zhangsan vim /etc/vsftpd/vsftpd.confuserlist_enable=YES #启用user_list用户列表文件 userlist_deny=NO #设置白名单,仅允许user_list用户列表文件的用户访问。默认为YES,为黑名单,禁用
模拟实验(FTP服务器的上传和下载)
1、安装FTP并进行配置文件的备份
yum -y install vsftpd ##安装ftp
2.开启ftp服务,关闭防火墙
3.测试连接
4.上传文档
5.下载文档
本地用户登录FTP,限制切换到宿主目录以外目录,并赋予写的权限
1.更改权限
2.测试本地用户登录
3、更改配置
4.重启服务
5.测试是否可以切换目录
6.测试宿主目录是否
