一、ftp
1.1 ftp介绍
ftp全称为:file transfer photo 是互联网中最老牌的文件传输协议
1.2 试验环境搭建
服务端主机
- selinux状态改为disabled
- 开启防火墙
- 安装vsftpd
客户端主机 - selinux状态改为disabled
- 安装lftp
二、vsftpd安装与启用
安装dnf install vsftpd -y
systemctl enable --now vsftpd:启动vsftpd并设为开机自动启动
systemctl enable --now firewalld:开启防火墙
firewall-cmd --permanent -add-source=172.25.254.4 --zone=trusted
systemctl restart firewalld:重启防火墙
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES:开启匿名访问
systemctl restart vsftpd
三、vsftpd基本信息
服务名称:vsftpd.service
配置目录:etc/vsftpd/
主配置文件:/etc/vsftpd/vsftpd.conf
默认发布目录:/var/ftp
vsftpd的报错信息;
- 550:程序本身拒绝
- 553:文件系统权限限制
- 500:权限过大
- 530:认证失败
四、匿名用户访问控制
客户端:lftp 172.25.254.104
在服务端/var/ftp下创建文件
客户端访问可以看见有新的文件生成
同意匿名用户登录
将家目录从默认的/var/ftp改为/westosdir
anon_upload_enable=YES|NO:上传控制
anon_mkdir_write_enable=YES:目录建立控制
anon_world_readable_only=NO:下载控制(NO时匿名用户可以下载不能读的文件)
anon_other_write_enable=YES:删除重命令控制
上传控制时需要修改文件权限
chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub
匿名用户上传文件权限
上传文件/etc/passwd文件权限为644
设定匿名用户上传文件的用户身份:
chown username=XXX
chown_upload=YES
chown_upload_mode=644
max_client=X(最多同时登陆X个用户)
anon_max_rate=102400(b):上传速率控制
五、本地用户访问
5.1 创建本地用户
建立本地用户westos1 westos2 westos3
local_root:设定本地家目录
write_enable=NO 取消写权限
local_umask=077:上传文件权限控制
5.2用户登录控制
/etc/vsftpd/ftpusers:永久黑名单
/etc/vsftpd/user_list:默认黑名单
userlist_deny:
当该项为YES时,设定/etc/vsftpd/user_list为黑名单
当该项为NO时,设定/etc/vsftpd/user_list为白名单,名单之外的无法登录ftp
锁定用户到家目录中
chmod u-w /home/*
锁定用户到自己家目录的白名单中
将用户家目录白名单变为黑名单
六、虚拟用户访问
建立虚拟用户haha1 haha2 haha3
认证加密文件
编写用户对策文件
三个虚拟用户可以登录
设定虚拟用户的家目录:
anon_upload_enable=YES:禁止虚拟用户上传文件
在此目录下与用户名相同的文件为用户配置文件