Ⅲ第一章学习博客

Linux修炼之旅第一章!

来到第三本书的学习,第三本书系列文章将更多介绍Linux系统中网络层面的知识,首先第一章来介绍Vsftpd服务的部署及优化
下面我们就开始吧



实验之前还是先来准备实验环境
将nodea主机的selinux关闭
vim /etc/sysconfig/selinux
在这里插入图片描述
然后重启
就关闭了selinux
这个步骤在服务主机与测试主机中都关闭
然后再服务主机中(nodea)

      dnf install vsftpd -y
      dnf install lftp -y
      systemctl enable --now vsftpd
      firewalld -cmd --permanent --add-service=ftp
      firewall-cmd --permanent --add-service=ftp
      firewall-cmd --reload

在测试主机中

       dnf install lftp -y

一、vsftpd安装及启用

1.ftp协议是什么?

FTP 的目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。

2.vsftpd的使用

完成一开始的实验环境搭建以后就可以来试着用一下了

在测试主机中
lftp 172.25.254.53 -u westos
再使用ls就可以看到用户的默认家目录了
在这里插入图片描述

如果要允许匿名用户登录
就在服务主机中输入
vim /etc/vsftpd/vsftpd.conf
将匿名用户的允许哪一行更改为如下样式

# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=YES

然后切记重启服务
systemctl restart vsftpd
在测试机中尝试匿名登陆

 lftp 172.25.254.53 
 ls

如果将匿名用户设置为NO,则匿名用户登陆失败
在这里插入图片描述
在这里插入图片描述

二、vsftpd基本信息

服务名称:
vsftpd.service
配置目录:
/etc/vsftpd
主配置文件:
/etc/vsftpd/vsftpd.conf
默认发布目录:
/var/ftp
报错信息:
550 ##程序本身拒绝
553 ##文件系统权限限制
500 ##权限过大
530 ##认证失败

三、匿名用户访问控制

登陆控制
anonymous_enable=YES|NO
这个指令在一中的vsftpd的启用中已测试过,结果可以回看

家目录控制
anon_root=/westosdir
与登陆控制的步骤类似
在登陆控制指令下面加上家目录的路径,就可以访问到指定的家目录
在这里插入图片描述
测试的时候可以先在指定的家目录中创建一些文件,使结果更直观
在这里插入图片描述
测试完以后即使注释掉,防止影响后面的实验
在这里插入图片描述
上传控制
anon_upload_enable=YES|NO
用法依旧与一中展示的方法相同,本小节实验就不再赘述
在这里插入图片描述
可以看到匿名用户上传失败。出现550报错
然后就可以去授权
在这里插入图片描述
授权后再试会出现553报错
这时再给目录赋权,就可以解决了
在这里插入图片描述
在这里插入图片描述
可以看到问题成功解决

目录建立控制
anon_mkdir_write_enable=YES|NO
在这里插入图片描述
在这里插入图片描述

下载控制
anon_world_readable_only=NO
匿名用户可以下载不能读的文件(然后就可以删不可读的目录了)
在这里插入图片描述

删除重命令控制
anon_other_write_enable=YES|NO
在这里插入图片描述
在这里插入图片描述

匿名用户上传文件权限设定
anon_umask=xxx
anon_umask=022 ##当设定chown_username之后上传文权限将不是用此参数设定
在这里插入图片描述
在这里插入图片描述

匿名用户上传文件的用户身份设定
chown_upload=YES
chown_username=lee
chown_upload_mode=0644
在这里插入图片描述

登陆数量控制:
max_clients=2
在这里插入图片描述
登录进去以后输入ls
测试到第三个主机就不能访问内容了

在这里插入图片描述

上传速率控制
anon_max_rate=102400
在这里插入图片描述
在这里插入图片描述

四、本地用户的访问

登陆控制

useradd westos
useradd shy
echo westos | passwd --stdin westos
echo shy | passwd --stdin shy
lftp 172.25.254.53 -u westos
local_enable=NO|YES

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
家目录控制
local_root=/software
在这里插入图片描述
在这里插入图片描述

写权限控制
write_enable=NO|YES
在这里插入图片描述

上传文件权限控制
local_umask=077
在这里插入图片描述
在这里插入图片描述

用户登陆控制
/etc/vsftpd/ftpusers ##永久黑
/etc/vsftpd/user_list ##默认黑
在这里插入图片描述
在黑名单目录中输入shy
在这里插入图片描述

用户登陆白名单
userlist_deny=NO #设定/etc/vsftpd/user_list位白名单
在这里插入图片描述
在这里插入图片描述

不在名单中的用户不能登陆ftp

锁定用户到自己的家目录中
chmod u-w /home/*
chroot_local_user=YES
在这里插入图片描述
在这里插入图片描述

锁定用户到自己的家目录中的白名单
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

锁定用户到自己的家目录中的黑名单
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
在这里插入图片描述
在这里插入图片描述
名单里面内容不变还是shy,但是用户shy就被锁起来了

五、虚拟用户访问

1.建立虚拟用户过程

vim /etc/vsftpd/ftp_auth_file #建立认证文件模板
shy
123
hgx
123
gj
123
db_load -T -t hash -f ftp_auth_file ftp_auth_file.db ##加密认证文件 -T 转换 -t type -f 指定转换文件

在这里插入图片描述
vim /etc/pam.d/westos
在这里插入图片描述
vim /etc/vsftpd/vsftpd.conf

pam_service_name=westos ##指定认证策略文件
guest_enable=YES ##指定虚拟用户功能开启
guest_username=ftp ##指定虚拟用户在ftp服务器上的用户身份

在这里插入图片描述
测试一下啊
在这里插入图片描述

虚拟用户家目录的独立设定

mkdir -p /ftpuserdir/westos1
mkdir -p /ftpuserdir/westos2
mkdir -p /ftpuserdir/westos3
touch /ftpuserdir/westos1/westos1file
touch /ftpuserdir/westos2/westos2file
touch /ftpuserdir/westos3/westos3file

在示例中我设定的用户分别为shy,hgx,gj
对应的文件名分别为file1,file2,file3
在这里插入图片描述
vim /etc/vsftpd/vsftpd.conf
添加新的内容

local_root=/ftpuserdir/$USER
user_sub_token=$USER

在这里插入图片描述
测试
在这里插入图片描述

二.用户配置独立

仍以用户shy,hgx,gj为例

    mkdir /ftphome/shy/pub
    mkdir /ftphome/hgx/pub
    mkdir /ftphome/gj/pub
    chgrp ftp /ftphome/shy/pub
    chgrp ftp /ftphome/hgx/pub
    chgrp ftp /ftphome/gj/pub
    chmod 775 /ftphome/hgx/pub
    chmod 775 /ftphome/shy/pub
    chmod 775 /ftphome/gj/pub
    ls -ld /ftphome/shy/pub/

在这里插入图片描述
vim /etc/vsftpd/vsftpd.conf 修改配置文件
需要把虚拟用户的内容(带anony前缀的)都注释掉
只剩下anontmous_enable=YES
在这里插入图片描述
然后接着输入

   systemctl restart vsftpd
   vim /etc/vsftpd/chroot_list 
   删掉之前的黑名单
   
   mkdir -p /etc/vsftpd/userconf
   cd /etc/vsftpd/userconf/

vim shy
输入anon_upload_enable=YES

开始测试
可以看到由于只在文件中写了上传的权限,就算是用户登录也不可以执行删除操作,但是上传操作正常
在这里插入图片描述
对比shy用户,hgx用户没有写权限,所以什么都干不了
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值