FTP
FTP,是一个文件传输协议
FTP是一种在互联网中基于TCP协议 端到端的数据传输协议。
基于C/S架构,默认使用20、21号端口
端口20(数据端口)用于数据传输
端口21 (命令端口)用于接收客户端发出的相关FTP命令
FTP工作模式:
主动模式:
FTP客户端从本机的非特殊端口(>1023)连接FTP服务器的命令端口21,服务端通过本地的20号端口 主动向客户端的随机端口发起连接请求,开始传输数据(客户端的防火墙可能 在第三次拦截)
被动模式:
FTP客户端通过向FTP服务器发送PASV命令进入被动模式,FTP服务器会另开一个随机端口,客户端主动连接到随机端口后,开始传输数


ftp的软件:
可以实现ftp功能的软件
wu-ftpd:
proftpd:
pureftp :
vsftpd: 非常安全的ftp服务器
ServU: windows里边的
客户端访问ftp服务器工具:
ftp
lftp、 lftpget
wget
curl
FileZilla: windows客户端工具,可从软件商店直接下载
vsftpd介绍:
vsftpd(very secure ftp daemon)非常安全的FTP守护进程
是一款运行在Linux操作系统上开源且免费FTP服务程序
不仅完全开源而且免费,还为我们提供了一个快速的、稳定并且安全的FTP服务
vsftpd用户模式
本地用户
虚拟用户
匿名用户
vsftpd服务相关参数:
/var/ftp #匿名用户共享目录
/etc/vsftpd #配置文件所在目录
/etc/vsftpd/vsftpd.conf #主配置文件
/usr/sbin/vsftpd #主程序文件
/etc/vsftpd/ftpusers #黑名单
/etc/vsftpd/user_list #控制名单(配置文件控制白名单与黑名单)
/var/log/xferlog #日志目录
实际操作:
ftp-server
systemdctl stop firewalld 关闭防火墙
yum install -y vsftpd 安装
systemdctl start vsftpd 打开vsftpd
systemdctl status vsftpd
systemdctl enable vsftpd 设置开机自启动
匿名用户访问,一般默认只给下载和查看
client-server2
yum install ftp lftp -y
lftp/ftp 192.168.186.129 在输入用户名和密码,默认用户名ftp,密码是空 ///默认的权限看,下载
ls 看共享过来的文件有哪些
get abc.txt 下载
put 1.txt 上传
可以把ftp家目录改成ftp所有,那么远程的匿名用户就有了更多的操作方式。但是也需要配置文件打开授权才行。
------------------------------------------------------------------------------
vim /etc/vsftpd/vsftpd.conf
anonymous_enabe=YES #是否允许匿名用户访问,yes允许,no不允许 12
anon_upload_enabe=YES #是否允许匿名用户上传,yes允许,no不允许 29
anon_mkdir_write_enabTe=YES #是否允许匿名用户创建目录,yes允许,no不允许 33
anon_other_write_enable=yes #是否允许匿名用户写权限,yes允许,no不允许 (手动添加)
------------------------------------------------------------------------------
本地用户模式:
创建新用户,关闭匿名用户登陆开关,打开本地用户登陆开关
lftp 192.168.186.129 -u user1 输入命令@
登陆就是自己的家目录了,
去除家目录的写权限才能ls等查看,去本地目录的家目录,给他创建一个目录chown给到登陆人即可。
chown ftpuser:ftpuser upload/
12 anonymous_enab7e=NO #关闭匿名用户访问
16 1ocal_enable=YES #是否允许本地用户访问,yes允许,no不允许
19 write_enable=YES #是否允许本地用户有写权限,yes允许,no不允许
23 1oca1_umask=022 #本地用户上传文件默认权限为755
37 dirmessage_enable=YES #当用户第一次进入新目录时显示消息 (了解)
40 xfer1og_enable=YES #焙动xfer1og日志记录,该文件记录传输数据
43 connect_from_port_20=YES #启用数据传输端口
49 #chown_username=whoever # 改变上传文件的属主与属组
53 #xferlog_file=/var/1og/xferlog #日志文件位置,需删除注释
60 #idTe_session_timeout=600 #客户端连接超时时间,连上之后无操作
63 #data_connection_timeout=120 #数据连接超时时间,下载时候断开了,没继续操作下载
101 chroot_1oca_user=YES #是否允许本地用户切换目录,yes不允许,no允许
115 1isten=NO #是否开启监听IPV4的连接,默认没开启,改为yes
126 pam_service_name=vsftpd #启用pam认证的文件名称,路径为/etc/pam.d/vsftpd
127 user1ist_enable=YES #是否启用控制名单文件,yes启用,no不启用,文件为/etc/vsftpd/user_list,如果启用控制名单功能,需要指定该文件为黑名单|白名单
128 userlist_deny=no #yes拒绝user_list文件中用户登录ftp服务器(黑名单) ,no允许登陆(白名单)
max_clients 最大连接数
复习:subscription-manager unregister
此时需要下载,可以搭建一个本地的源
[BaseOS]
name=rhel8_BaseoS
baseurl=file:///redhat/BaseOS
enabled=1
gpgcheck=1
gpgkey=file:///redhat/RPM-GPG-KEY-redhat-release
[AppStream]
name=rhel8_AppStream
baseurl=file:///redhat/AppStream
enabled=1
gpgcheck=0