运维学习 unit 14 ftp服务的部署和安全性设置

1.FTP

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:“下载”(Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。

2.部署ftp服务器

yum查找vsftpd服务和lftp服务
在这里插入图片描述
install安装两者
开启ftp服务并设置为开机自启
在这里插入图片描述
检查内核加强型防火墙是否开启,用getenforce检查图中是关闭状态,若是显示Enforcing则需要手动关闭,编辑selinux配置文件,将selinux的状态改为disabled
在这里插入图片描述
编辑selinux配置文件 vim /etc/sysconfig/selinux

在客户端安装lftp服务后尝试连接至服务器的ip
在这里插入图片描述

3.FTP服务的基本信息

软件安装包:vsftpd
默认发布目录:/var/ftp
协议接口:21/tcp
服务配置文件:vim /etc/vsftpd/vsftpd.conf
报错id的解析:
500 文件系统权限过大
530 用户认证失败
550 服务本身功能未开启
553 文件系统权限过小

4安全性设置

为服务器新建一个用户useradd westos
新建用户为westos,密码为westos

注意:使用lftp服务连接时,默认是用匿名用户访问服务器,使用服务器本地用户登陆时需要添加 “-u 用户名”

在这里插入图片描述
配置文件第12行 anonymous_enable=YES|NO    ##设置匿名用户是否可以登陆
配置文件第16行 local_enable=YES|NO    ##本地用户是否可以登陆
配置文件第19行 write_enable=YES|NO   ##ftp是否对登陆用户可写
配置文件第29行 anon_upload_enable=YES|NO   ##匿名用户是否能上传
配置文件第23行 local umask=xxx ##更改本地用户上传文件权限
配置文件第33行 anon_mkdir_write_enable=YES|NO   ##匿名用户是否可以建立目录
第12行改为no后,匿名用户无法登陆
在这里插入图片描述
第16行改为no后,本地用户无法登陆
在这里插入图片描述
第19行改为no后,登陆用户没有对文件的书写权限(比如删除)
第29行去掉注释同时可写权限开放时,匿名用户可以上传文件,但是会显示用户权限过小,此时需要修改匿名用户目录的所在组并给组添加可写的权限
在这里插入图片描述
第33行去掉注释后,匿名用户可以建立目录
在这里插入图片描述
添加第30行 anon_world_readable_only=NO|YES ##参数NO表示匿名用户可以下载
添加第31行 anon_other_write_enable=YES|NO ##是否可以删除别的用户的文件
在这里插入图片描述
添加第32行 anon_max_rate=102400 ##限制匿名用户下载速率最大值为102400bits
添加第33行 max_clients=1 ##设定最多有1个用户可以连接服务器
添加第17行 local_root=/directory ##更改登陆用户家目录
在这里插入图片描述

注意:给家目录的子目录添加权限所以只能往家目录的子目录中上传文件

注意:默认登录用户家目录为 /var/ftp

5设置黑白名单

1)vim  /etc/vsftpd/ftpusers   用户永久黑名单
2)vim  /etc/vsftpd/user list   用户临时黑名单
在这里插入图片描述
(配置文件最后的userlist_enable=YES)
3)修改/etc/vsftpd/vsftpd.conf——>userlist_enable=NO时
   /etc/vsftpd/user list 就变成用户白名单
   (即只有存在这个文件里的用户才可以登录,但若是该用户同时出现在用户永久黑名单中则也无法登陆)
   在这里插入图片描述

6.虚拟用户

1) 建立方式:
vim /etc/vsftpd/loginusers   名字任意
在这里插入图片描述
db_load -T -t hash -f loginusers loginusers.db ##给loginusers文件hash加密
file命令查看文件类型,看到使用的是hash加密
虚拟用户文件编辑内容:一行用户名一行密码,注意编辑的时候不要有空格出现
在这里插入图片描述

编辑策略文件(验证密码与用户是否一致的文件) 文件名称任意

在这里插入图片描述

编辑配置文件并指定策略文件到配置文件中
在这里插入图片描述
编辑配置文件后重启服务
在这里插入图片描述
在这里插入图片描述
我设定的虚拟用户没有test3只有test所以test3登录失败
2) 如何指定虚拟用户登录身份
编辑配置文件
将虚拟用户指定身份设置为westos
在这里插入图片描述
查看westos用户家目录下的东西,如果虚拟用户登录时可以看到以下文件,则证明虚拟用户登录身份修改成功
因为给了虚拟用户修改权限本地用户的权限所以会显示权限过大的报错
修改权限即可
3)虚拟用户家目录的设置
在这三个家目录中分别添加文件(为了验证用户进入的是否是自己的家目录
权限加满,不影响后续测试
在这里插入图片描述
编辑配置文件
在这里插入图片描述
注意:
user_sub_token=$ USER 这一行的命令意思是将shell中$ USER的用法挪到ftp服务中来用即$代表后续随机参数

4)虚拟账号配置的独立设定
默认情况下 虚拟用户使用的是匿名用户的参数控制,如果我们想让不同的虚拟用户有级别不同的权利,就必须给每个虚拟用户设置自己的次配置文件,使主配置文件下的次配置文件生效可给予不同虚拟用户不同权限

建立虚拟用户的次配置目录及次配置文件
编辑配置文件
将匿名用户的上传功能注释掉
在这里插入图片描述
编辑次配置文件,在里面写上允许虚拟用户执行的动作
在这里插入图片描述
在这里插入图片描述
让虚拟用户可以实现上传功能

猜你喜欢

转载自blog.csdn.net/gordzafkiel/article/details/83591313
今日推荐