系列文章目录
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.配置防火墙![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2856b6ec95c6ef429d75cbf446599a4d.png)
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的内容就基本记录结束了。