一、FTP服务
FTP:文件传输协议 (TCP 2个连接 一个用来建立连接关系 一个用来进行数据传输)
FTP客户端: 浏览器、文件资源管理器、lftp、ftp
FTP服务端:Vsftpd
端口 :20 21 随机端口
工作模式:主动/被动
被动 默认开启 可以关闭
主动 永久开启
扩展:修改主机名:
[root@Clint ~]# nmcli g hostname Clint
[root@server ~]# hostnamectl set-hostname Server
hostnamectl set-hostname 主机名
nmcli g hostname 主机名
vsftpd服务器端口对外共享目录(默认)(FTP的根目录) /var/ftp
FTP-Server
1.安装vsftpd
yum -y install vsftpd
2.启动
systemctl start vsftpd
systemctl enable vsftpd
3.共享目录(/var/ftp/)
FTP-Client
1.安装客户端工具(lftp)可以使用lftp的命令连接FTP-Server
yum -y install lftp
2.lftp IP地址/域名3.操作
ls 查看当前目录下内容
exit 退出
cd 路径切换
get 文件 (mirror)目录 下载
lftp 10.9.12.214:/> get zhangjiajun
lftp 10.9.12.214:/> mirror majinxin/
put 文件(mirror -R)目录 上传
实验:
参数:
local_enable=YES # 是否允许本地系统用户访问
local_umask=022 # 本地用户所上传文件的权限掩码
local_root=/var/ftp # 设置本地用户的FTP根目录
1.对外共享目录权限
/var/ftp
/opt/share 自定义的
匿名用户的文件上传(实验)
对外提供一个共享目录(/opt/data默认:/var/ftp),ftp的根目录
共享目录下: upload目录
FTP-Server:
1.开启上传功能(允许匿名用户访问)
anon_upload_enable=YES
anon_mkdir_write_enable=YES
2.创建上传目录
[root@ftp-server ftp]# mkdir /var/ftp/upload
[root@ftp-server ftp]# chmod 777 upload
3.重启服
[root@ftp-server ftp]# systemctl restart vsftpd
4.验证:lftp登录 put(上传文件) 、mirror(上传目录) -R
(从客户端上传文件到upload,到服务器upload目录查看)
修改匿名用户对外共享目录(实验)
1.自己创建对外共享目录
[root@ftp-server ftp]# mkdir /opt/data
[root@ftp-server ftp]# touch /opt/data/abc
2.修改配置文件,使用anon_root这个参数指定新的共享目录
[root@ftp-server ftp]# vim /etc/vsftpd/vsftpd.conf
anon_root=/opt/data
3.重启服务
[root@ftp-server ftp]# systemctl restart vsftpd
参数:
anonymous_enable=YES # 是否允许匿名用户访问
anon_root=/var/ftp # 设置匿名用户的FTP根目录
anon_upload_enable=YES # 是否允许匿名用户上传文件
anon_mkdir_write_enable=YES # 是否允许匿名用户允许创建目录
anon_other_write_enable=YES # 是否允许匿名用户有其他写入权(改名,删除,覆盖)
anon_max_rate=0 # 限制最大传输速率(字节/秒)0为无限制
local_enable=YES # 是否允许本地系统用户访问
local_root=/var/ftp # 设置本地用户的FTP根目录
max_clients=0 # 限制并发客户端连接数
max_per_ip=0 # 限制同一IP地址的并发连接数
当这个参数的userlist_deny=YES;那么user_list文件就是黑名单,在这个文件的用户不允许登录FTP-Server
当这个参数的userlist_deny=NO;那么user_list文件就是白名单,只有在这个文件中的用户才可以登录(ftpusers)