Vsftpd服务的部署及优化

1.实验环境

需要两台主机,一台作为服务器主机,其ip地址为192.168.157.100,一台作为客户端主机,其ip地址为192.168.157.200

服务器

(1)安装vsftpd软件

dnf install vsftpd -y

结果如下图所示:

(2)关闭selinux

 vim /etc/selinux/config

结果如下:

将上图红色框中修改为disabled即可

(3)关闭防火墙
systemctl enable --now vsftpd
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload

结果如下图所示:

(4)设置ip地址

nm-connection-editor

ifconfig

设置好的结果如下图所示:

客户端

(1)安装lftpd软件
dnf install lftp -y

结果如下:

(2)关闭selinux

操作步骤如服务器主机相同,此处略去

(3)设置ip地址

nm-connection-editor

ifconfig

设置好的结果如下图所示:


 

 测试:

在客户端主机执行以下命令

lftp 192.168.157.100 -u root 
ls

结果如下:

上图表明实验环境搭建成功

 2.vsftpd基本信息

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

3.匿名用户访问控制

lftp 192.168.157.100                       //当访问ftp服务时没有加入用户认证为匿名访问
lftp 192.168.157.100 -u westos       //本地用户访问

(1)登录控制

先在服务器主机使用匿名用户登录

lftp 192.168.157.100

结果如下图所示:

发现匿名用户登录受限,在服务器主机执行以下命令

vim /etc/vsftpd/vsftpd.conf

编辑内容如下图所示:

 

systemctl restart vsftpd.service                    //重启vsftpd服务

然后在用户端主机重新使用匿名用户登录,结果如下:

(2)家目录控制

在服务器主机执行以下命令:

vim /etc/vsftpd/vsftpd.conf

编辑内容如下图所示:

systemctl restart vsftpd.service                    //重启vsftpd服务

然后在用户端主机重新使用匿名用户登录,结果如下:

(3)上传控制

在服务器主机执行以下命令:

vim /etc/vsftpd/vsftpd.conf

编辑内容如下图所示:

 

systemctl restart vsftpd.service                    //重启vsftpd服务

chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub

结果如下:

然后在用户端主机执行以下命令

touch /mnt/file

 使用匿名用户登录

执行以下命令

cd pub
put /mnt/file

结果如下:

(4)目录建立控制

在服务器主机执行以下命令:

vim /etc/vsftpd/vsftpd.conf

编辑内容如下图所示:

systemctl restart vsftpd.service                    //重启vsftpd服务

然后在用户端主机重新使用匿名用户登录,结果如下:

(5)下载控制

在服务器主机执行以下命令:

vim /etc/vsftpd/vsftpd.conf

编辑内容如下图所示:

systemctl restart vsftpd.service                    //重启vsftpd服务

touch /var/ftp/file

然后在用户端主机重新使用匿名用户登录,结果如下:

 4.本地用户访问控制

首先建立一个新用户hs,如下图所示:

(1)登录控制

在服务器主机执行以下命令:

vim /etc/vsftpd/vsftpd.conf

编辑内容如下图所示:

systemctl restart vsftpd.service                    //重启vsftpd服务

然后在用户端主机重新使用本地用户登录,结果如下:

(2)家目录控制

在服务器主机执行以下命令:

vim /etc/vsftpd/vsftpd.conf

编辑内容如下图所示:

systemctl restart vsftpd.service                    //重启vsftpd服务

然后在用户端主机重新使用本地用户登录,结果如下:

(3)写权限控制

在服务器主机执行以下命令:

vim /etc/vsftpd/vsftpd.conf

编辑内容如下图所示:

systemctl restart vsftpd.service                    //重启vsftpd服务

然后在用户端主机重新使用本地用户登录,结果如下:

(4)用户登录黑白名单

黑名单:

/etc/vsftpd/ftpusers                   //永久黑
/etc/vsftpd/user_list                   //默认黑

vim /etc/vsftpd/user_list

编辑内容如下图所示:

然后在用户端主机重新使用本地用户westos登录,结果如下:

白名单:
userlist_deny=NO                     //设定/etc/vsftpd/user_list为白名单
                                                   不在名单中的用户不能登陆ftp

结果如下:

然后在用户端主机分别使用本地用户westos和hs登录,结果如下:

发现westos用户正常登录,hs用户被拒绝

(5)锁定用户到自己的家目录及黑白名单

家目录:

在服务器主机执行以下命令

chmod u-w /home/*

vim /etc/vsftpd/vsftpd.conf

编辑内容如下图所示:

systemctl restart vsftpd.service                    //重启vsftpd服务

然后在用户端主机重新使用本地用户westos登录,结果如下:

 

白名单:

vim /etc/vsftpd/vsftpd.conf

编辑内容如下图所示:

 

systemctl restart vsftpd.service                    //重启vsftpd服务

vim /etc/vsftpd/chroot_list

编辑内容如下图所示:

然后在用户端主机重新使用本地用户westos登录,结果如下:

发现westos用户可以访问除了其家目录外的其他目录

黑名单:

vim /etc/vsftpd/vsftpd.conf

编辑内容如下图所示:

systemctl restart vsftpd.service                    //重启vsftpd服务

然后在用户端主机重新使用本地用户westos登录,结果如下:

发现westos用户无法访问除了其家目录外的其他目录

5.虚拟用户访问

vim /etc/vsftpd/ftpauth                     //建立认证文件模板

编辑内容如下图所示:

表示虚拟用户1的用户名为user1,密码为123,虚拟用户2的用户名为user2,密码为123

db_load -T -t hash -f ftpauth ftpauth.db               //加密认证文件 -T 转换 -t type -f 指定

执行以上命令,结果如下:

vim /etc/pam.d/westos
编辑内容如下图所示:
 

vim /etc/vsftpd/vsftpd.conf
编辑内容如下图所示:
 

其中,第一行是指定认证策略文件,第二行是指定虚拟用户功能开启,第三行是指定虚拟用户在ftp服务器上的用户身份

systemctl restart vsftpd.service                    //重启vsftpd服务

然后在用户端主机使用虚拟用户登录,结果如下:

由上图可以看出,虚拟用户可以成功登录并访问其家目录、

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值