Linux Unit18--ftp
ftp 文件传输协议
vim /etc/sysconfig/selinux
vim /etc/yum.repos.d/rhel_dvd.repo
reboot
ftp服务
1.ftp的定义:
ftp:// 文件传输协议
2.ftp协议提供的软件:在rhel7.2中:vsftpd
3.部署ftp服务
yun install vsftpd ##安装服务
systemctl start vsftpd ##启动服务
systemctl enable vsftpd ##设置开机自启动服务
firewall-cmd --list-all ##查看防火墙的服务
firewall-cmd --permanent --add-service=ftp ##添加ftp服务到防火墙上
firewall-cmd --reload ##重启防火墙
setenforce 0 ##0表示不启动内核防火墙,1表示启动内核防火墙
getenforce ##查看内核防火墙的状态
测试:
4.ftp服务的基本信息
软件安装包:vsftpd
默认发布目录:/var/ftp
协议接口:21/tcp
ss -antlpe | grep vsftpd ##查看服务的端口
服务配置文件:/etc/vsftpd/vsftpd.conf
1>.匿名用户和本地是否可以登陆ftp服务
修改配置文件后要重启服务!
测试:
匿名用户无法登录ftp服务
本地用户可以登陆ftp服务
2>.匿名用户能否上传
修改配置文件后,重启服务,并修改权限
测试:
匿名用户可以上传文件
3>.匿名用户登录家目录的修改
在/westos上建立文件
测试:
4>.匿名用户上传文件的权限
测试:
5>.匿名用户建立目录(把之前修改的参数全部注释掉)
测试:
6>.匿名用户能否下载
anon_world_readable_only=NO ##表示匿名用户可以下载
测试:
7>.匿名用户能否删除
测试:
8>.匿名用户使用的用户身份的修改
测试:
9>.用户上传的最大上传速率
测试:
10>.允许用户使用的最大连接数
测试:
当正在使用服务的用户中有一个用户退出时,另一个未使用服务的用户才能使用服务
11>.修改本地用户的家目录
在/westos上建立文件
测试:
12>.限制本地用户浏览/目录
设置权限:
测试:
匿名用户可以切换目录,本地用户被锁在根目录下
当把配置文件中命令注释掉时:
本地用户可以浏览根目录
13>.用户的黑白名单
建立用户黑名单:
建立用户白名单:
限制本地用户登录:
ftpusers ##永久性黑名单
user_list
##临时性黑名单
用户黑名单设定:
用户白名单设定:
测试:
在用户家目录下建立对应的文件,以便于区分用户
黑名单测试:
1>.在临时性黑名单中加入student用户
测试:
2>.在永久性黑名单中加入student用户
测试:
白名单测试:
此时user_list变成白名单,只有名单的中用户可以使用服务
测试:
14>.ftp虚拟用户的设定
步骤:
vim /etc/vsftpd/westosfile
创建虚拟用户以及对应虚拟用户的密码
db_load -T -t hash -f /etc/vsftpd/westosfile /etc/vsftpd/westosfile.db
对文件进行加密,加密方式为哈希函数
cd /etc/pam.d/
vim westos
对加密文件进行识别
vim /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd.service
修改配置文件,重启服务
测试:
15>.修改虚拟用户的家目录
mkdir -p /ftphomedir/westos{1..3}
touch /ftphomedir/westos1/westos1file
touch /ftphomedir/westos2/westos2file
touch /ftphomedir/westos3/westos3file
vim /etc/vsftd/vsftpd.conf
systemctl restart vsftpd.service
测试:
16>.只允许特定用户可以上传文件
测试前:在虚拟用户家目录下建立一个pub目录,并修改权限
修改配置文件:
vim /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd.service
所有虚拟用户可以上传文件:
配置文件中内容注释掉后,所有虚拟用户都不能上传文件,但可以添加配置文件使特定用户可以上传文件
vim /etc/vsftpd/confdir/westos1
(如果没有/etc/vsftpd/confdir/这个目录,则需要新建mkdir /etc/vsftpd/confdir/)
测试:特定用户westos1可以上传文件,其他用户都不可以
(测试前需要将之前上传到虚拟用户家目录下的passwd删除掉)
小提示:
之前的这些服务修改了配置文件中的太多内容,如果忘记修改了哪些内容而没有办法还原配置文件,可执行下列操作,将vsftpd服务重新安装一次:
rm -rf /etc/vsftpd/vsftpd.conf
yum reinstall vaftpd
systemctl restart vsftpd.service