Linux Unit18--ftp

ftp 文件传输协议

vim /etc/sysconfig/selinux

vim /etc/yum.repos.d/rhel_dvd.repo

reboot

Linux Unit18--ftp

Linux Unit18--ftp

Linux Unit18--ftp

Linux Unit18--ftp


ftp服务

1.ftp的定义:

ftp://   文件传输协议

2.ftp协议提供的软件:在rhel7.2中:vsftpd

3.部署ftp服务

yun install vsftpd                          ##安装服务

Linux Unit18--ftp


systemctl start vsftpd                  ##启动服务

systemctl enable vsftpd              ##设置开机自启动服务

Linux Unit18--ftp


firewall-cmd --list-all                                              ##查看防火墙的服务

firewall-cmd --permanent --add-service=ftp        ##添加ftp服务到防火墙上

firewall-cmd --reload                                               ##重启防火墙

Linux Unit18--ftp


setenforce 0                ##0表示不启动内核防火墙,1表示启动内核防火墙

getenforce                   ##查看内核防火墙的状态

Linux Unit18--ftp


测试:

Linux Unit18--ftp


4.ftp服务的基本信息

软件安装包:vsftpd

默认发布目录:/var/ftp

协议接口:21/tcp

ss -antlpe | grep vsftpd                ##查看服务的端口

Linux Unit18--ftp


服务配置文件:/etc/vsftpd/vsftpd.conf

Linux Unit18--ftp


1>.匿名用户和本地是否可以登陆ftp服务

Linux Unit18--ftp

修改配置文件后要重启服务!

Linux Unit18--ftp


测试:

匿名用户无法登录ftp服务

Linux Unit18--ftp


本地用户可以登陆ftp服务

Linux Unit18--ftp


2>.匿名用户能否上传

Linux Unit18--ftp

Linux Unit18--ftp


修改配置文件后,重启服务,并修改权限

Linux Unit18--ftp


测试:

匿名用户可以上传文件

Linux Unit18--ftp


3>.匿名用户登录家目录的修改

Linux Unit18--ftp

Linux Unit18--ftp


在/westos上建立文件

Linux Unit18--ftp


测试:

Linux Unit18--ftp


4>.匿名用户上传文件的权限

Linux Unit18--ftp

Linux Unit18--ftp


测试:

Linux Unit18--ftp


5>.匿名用户建立目录(把之前修改的参数全部注释掉)

Linux Unit18--ftp

Linux Unit18--ftp


测试:

Linux Unit18--ftp


6>.匿名用户能否下载

anon_world_readable_only=NO                ##表示匿名用户可以下载

Linux Unit18--ftp

Linux Unit18--ftp


测试:

Linux Unit18--ftp


7>.匿名用户能否删除

Linux Unit18--ftp

Linux Unit18--ftp


测试:

Linux Unit18--ftp


8>.匿名用户使用的用户身份的修改

Linux Unit18--ftp

Linux Unit18--ftp


测试:

Linux Unit18--ftp


9>.用户上传的最大上传速率

Linux Unit18--ftp

Linux Unit18--ftp


测试:

Linux Unit18--ftp


10>.允许用户使用的最大连接数

Linux Unit18--ftp

Linux Unit18--ftp


测试:

Linux Unit18--ftp


当正在使用服务的用户中有一个用户退出时,另一个未使用服务的用户才能使用服务

Linux Unit18--ftp


11>.修改本地用户的家目录

Linux Unit18--ftp

Linux Unit18--ftp


在/westos上建立文件

Linux Unit18--ftp


测试:

Linux Unit18--ftp


12>.限制本地用户浏览/目录

Linux Unit18--ftp

Linux Unit18--ftp

设置权限:

Linux Unit18--ftp


测试:

匿名用户可以切换目录,本地用户被锁在根目录下

Linux Unit18--ftp


当把配置文件中命令注释掉时:

Linux Unit18--ftp


本地用户可以浏览根目录

Linux Unit18--ftp


13>.用户的黑白名单

建立用户黑名单:

Linux Unit18--ftp


建立用户白名单:

Linux Unit18--ftp


限制本地用户登录:

Linux Unit18--ftp


ftpusers        ##永久性黑名单

Linux Unit18--ftp


user_list       ##临时性黑名单

Linux Unit18--ftp


用户黑名单设定:

Linux Unit18--ftp


用户白名单设定:

Linux Unit18--ftp


测试:

在用户家目录下建立对应的文件,以便于区分用户

Linux Unit18--ftp

黑名单测试:

1>.在临时性黑名单中加入student用户

Linux Unit18--ftp


测试:

Linux Unit18--ftp


2>.在永久性黑名单中加入student用户

Linux Unit18--ftp


测试:

Linux Unit18--ftp


白名单测试:

此时user_list变成白名单,只有名单的中用户可以使用服务

Linux Unit18--ftp


测试:

Linux Unit18--ftp


14>.ftp虚拟用户的设定

步骤:

vim /etc/vsftpd/westosfile

创建虚拟用户以及对应虚拟用户的密码

Linux Unit18--ftp

Linux Unit18--ftp


db_load -T -t hash -f /etc/vsftpd/westosfile /etc/vsftpd/westosfile.db

对文件进行加密,加密方式为哈希函数

Linux Unit18--ftp

Linux Unit18--ftp


cd /etc/pam.d/

vim westos

对加密文件进行识别

Linux Unit18--ftp

Linux Unit18--ftp


vim /etc/vsftpd/vsftpd.conf

systemctl restart vsftpd.service

修改配置文件,重启服务

Linux Unit18--ftp

Linux Unit18--ftp


测试:

Linux Unit18--ftp


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

Linux Unit18--ftp

Linux Unit18--ftp


测试:

Linux Unit18--ftp


16>.只允许特定用户可以上传文件

测试前:在虚拟用户家目录下建立一个pub目录,并修改权限

Linux Unit18--ftp

Linux Unit18--ftp


修改配置文件:

vim /etc/vsftpd/vsftpd.conf

systemctl restart vsftpd.service

Linux Unit18--ftp


所有虚拟用户可以上传文件:

Linux Unit18--ftp

Linux Unit18--ftp


配置文件中内容注释掉后,所有虚拟用户都不能上传文件,但可以添加配置文件使特定用户可以上传文件

vim /etc/vsftpd/confdir/westos1

(如果没有/etc/vsftpd/confdir/这个目录,则需要新建mkdir /etc/vsftpd/confdir/)

Linux Unit18--ftp

Linux Unit18--ftp


测试:特定用户westos1可以上传文件,其他用户都不可以

(测试前需要将之前上传到虚拟用户家目录下的passwd删除掉)

Linux Unit18--ftp

Linux Unit18--ftp

Linux Unit18--ftp


小提示:

之前的这些服务修改了配置文件中的太多内容,如果忘记修改了哪些内容而没有办法还原配置文件,可执行下列操作,将vsftpd服务重新安装一次:

rm -rf /etc/vsftpd/vsftpd.conf

yum reinstall vaftpd

systemctl restart vsftpd.service

Linux Unit18--ftp

 Linux Unit18--ftp