RHCE第12章:FTP服务

系列文章目录

RHCE第0章:RHCE开始前的准备
RHCE第1章:Web服务器(上)
RHCE第1章:Web服务器(下)
RHCE第2章:DNS服务
RHCE第3章:DHCP服务器
RHCE第4章:Firewall服务
RHCE第5章:SELinux
RHCE第6章:nfs网络文件系统
RHCE第7章:samba文件共享
RHCE第8章:链路聚合和桥接
RHCE第9章:KVM虚拟化技术
RHCE第10章:时间服务器
RHCE第11章:Mariadb数据库(上)
RHCE第11章:Mariadb数据库(中)
RHCE第11章:Mariadb数据库(下)
RHCE第11章:Mariadb数据库(后)
RHCE第12章:FTP服务



前言

这次博客记录的内容之FTP服务,主要用于两台服务器之间数据的上传和下载

一、VSFTP

VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。
以上是一些基本概念,意思是它很安全。

1.安装vsftp

yum install vsftpd

在这里插入图片描述

2.配置防火墙在这里插入图片描述

3.selinux

控制ftp服务器开关有好几个,我们直接打开总开关是最方便的。
在这里插入图片描述

setsebool -P ftpd_full_access on

在这里插入图片描述

4.启动服务

在这里插入图片描述

二、测试服务

在这里插入图片描述
默认会在/var/ftp创建一个共享目录。

1.建立连接

ftp一般用于window给Linux服务上传下载。所以我用一台window来测试。
在这里插入图片描述
先确认两台机器之前可以相互ping通。
在这里插入图片描述
然后用浏览器就可以访问。

2.编辑配置文件

 vim /etc/vsftpd/vsftpd.conf

禁止匿名访问
在这里插入图片描述
在一些老版本中可能是默认是运行的红帽8已经是禁止了。

3.创建用户

不能匿名登陆,我们就要为其创建账户和密码。
在这里插入图片描述
并且账号和密码写成一样的。
在这里插入图片描述
然后输入刚刚创建的账号密码登陆即可。
在这里插入图片描述

4.软件连接

实际生产中,不建议直接用浏览器使用ftp,有很多软件可以连接ftp服务,在这里我用的免费开源的FileZilla。
在这里插入图片描述

三、提高安全

这里有一个小问题,我们不仅仅能进入自己家目录,也能进入根目录。
在这里插入图片描述
这个明显就不是很安全,不过这是已知的BUG可以修。
还是通过修改配置文件。
修改以下几个地方。
在这里插入图片描述
第一个锁定本地用户。
第二个锁定的目录
第三个造一个文件,里边存放不受限制的用户
第四个存放用户名称所在的目录,需要自己创建。
在这里插入图片描述
再用windows访问。
在这里插入图片描述
可以发现chao1已经被锁死,只能访问固定的目录。
在这里插入图片描述
chao2依旧可以访问任意目录。
现在我尝试上传文件,(拖拽),发现无法上传。
在这里插入图片描述
这个是因为权限问题。

setfacl -m u:chao1:rwx -R /var/ftp/

在这里插入图片描述
然后在配置文件后边加一行。

llow_writeable_chroot=YES

在这里插入图片描述
然后就可以直接拖拽了。
在这里插入图片描述
系统中还有一个通过驱动来控制ftp登陆的,可以查看一下文件。

vim /etc/pam.d/vsftpd

在这里插入图片描述
有用的就这一行,大意是/etc/vsftpd/ftpusers文件里的用户禁止登陆。

在这里插入图片描述
可以看一下,这些用户都是禁止登陆的。

四、创建虚拟账号

以上远程登陆都是通过实际存在的账号登陆的,仅仅为登陆创建账号,成本太高,我们要创建虚拟账户,仅仅用来ftp登陆。

1.创建主账号

useradd chaoftp -s /sbin/nologin

2.增加虚拟账号

位置可以自己选择

vim /etc/vsftpd/virtualuser.list

在这里插入图片描述
一行账户一行密码,我就都写成一样的了。

db_load -T -t hash -f /etc/vsftpd/virtualuser.list /etc/vsftpd/chaoftp.db

将文本文件转成数据库文件。
然后要用pam模块做密码验证,pam具体是什么不说了,就理解为做验证的就行。
在这里插入图片描述
再次修改pam文件
前别的都注释,最后边加两行。
在这里插入图片描述

auth    sufficient      /usr/lib64/security/pam_userdb.so       db=/etc/vsftpd/chaoftp
account sufficient      /usr/lib64/security/pam_userdb.so       db=/etc/vsftpd/chaoftp

3.设置各自权限

我现在分别写三个目录,在写点文件,用作区分。这就是各自用来共享的目录。
在这里插入图片描述
然后我在建个目录用来存放各自的配置文件,然后往里边写各自的配置文件。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我把他们指向各自的共享目录,并且锁定。
之后,把这西信息加入到主配置文件中。
在这里插入图片描述
说一下新增加配置。
第一行开启虚拟用户
第二行虚拟用户的主用户
第三行虚拟用户各自存放配置信息的目录
第四行虚拟用户优先级最高
然后重启服务即可。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
他们各自锁定在自己的共享目录下。


总结

到此位置ftp的内容就基本记录结束了。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值