Linux进阶|(一)Vsftpd服务的部署及优化(ftp,vsftp,lftp的基本信息,匿名用户本地用户虚拟用户访问设置)

发布于:2023-01-20 ⋅ 阅读:(614) ⋅ 点赞:(0)

实验环境

[server主机]服务机
192.168.43.66 selinux关闭 防火墙开启 dnf安装设定完成

[client主机]客户机
192.168.43.77 selinux关闭 dnf安装设定完成 安装lftp #ftp协议文本浏览器

一、什么是ftp

ftp,全称file transfer proto 互联网中最老牌的文件传输协议。与大多数Internet服务一样,ftp也是一个客户机/服务器系统。用户通过一个支持ftp协议的客户机程序,连接到在远程主机上的ftp服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。
比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。

二、vsftpd安装及启用

我们将ip地址为:192.168.43.66的虚拟机作为FTP服务器
(1)关闭内核加强型防火墙selinux

vim /etc/sysconfig/selinux
或者
vim /etc/selinux/config

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

(2)安装vsftpd,lftp
lftp为文件传输程序
vsftp提供ftp协议软件

lftp 是一个轻量的文件传输工具,是一款类 Unix 系统下命令行界面的 FTP 客户端软件;
vsftp 是一个基于GPL发布的类Unix系统上使用的ftp服务器软件,它的全称是Very Secure FTP;

前置:配置软件仓库源指向性文件
dnf install vsftpd -y
dnf install lftp -y

在这里插入图片描述
(3)安装完成后启动vsftpd服务,开启防火墙,在系统防火墙中永久开启ftp访问,刷新防火墙使设定生效

systemctl enable --now vsftpd ##启动vsftpd服务
firewall-cmd --list-all ##查看防火墙服务
firewall-cmd --permanent --add-service=ftp ##在系统中永久开启防火墙ftp访问
firewall-cmd --reload ##刷新防火墙
firewall-cmd --list-all ##查看防火墙服务

在这里插入图片描述
(4)测试安装发布
方式一:
在firefox浏览器所在的真实主机中访问ftp
输入网址:ftp://ip

在这里插入图片描述

方式二:
通过lftp(ftp协议文本浏览器)访问ftp
shell中执行命令:lftp ip

在这里插入图片描述

三、vsftpd基本信息

服务名称:
vsftpd.service
配置目录:
/etc/vsftpd
主配置文件:
/etc/vsftpd/vsftpd.conf
默认发布目录:
/var/ftp

发布目录也就是指在ftp共享的目录,也就是你发布的项目,帮你把它存在一个文件夹下。下次启动服务器时就可以在浏览器上使用你的项目了

报错信息:

报错序号 含义
550 程序本身拒绝
553 文件系统权限设置
500 权限过大
530 认证失败

四、匿名用户访问控制

访问时出现下列情况:lftp不能访问成功(ls列出默认共享目录失败)或者浏览器访问ftp网址时需要账密认证

在这里插入图片描述在这里插入图片描述
以上问题是因为在默认情况下,通过上述两种方式访问ftp都是以匿名用户的身份进行的,而在vsftpd主配置文件中,匿名用户访问默认是关闭的,因此需要修改主配置文件==/etc/vsftpd/vsftpd.conf==,源文件里没有的语句,可以自己写入,每次修改完毕后,务必重启vsftpd服务,使其生效,如若想取消设定,使用==#注释==即可。
在这里插入图片描述

1.登陆控制

在主配置文件中修改
anonymous_enable=YES
YES开启匿名用户访问|NO关闭匿名用户访问

2.家目录控制

在主配置文件中修改or添加
anon_root=目录
即可修改匿名用户访问家目录

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

3.上传控制

anon_upload_enable=YES|NO
是否开启匿名用户上传(put)权限
上传命令成功执行后,上传到ftp共享目录

chmod 775 /var/ftp/pub ##修改权限为拥有组可读可写可执行
chgrp ftp /var/ftp/pub ##将拥有组改为ftp
lftp 192.168.43.66
	cd pub
	put /etc/passwd

在这里插入图片描述

在这里插入图片描述

4.目录建立控制

anon_mkdir_write_enable=YES|NO
匿名用户是否能够建立目录

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

5.下载控制

anon_world_readable_only=YES|NO
匿名用户是否可以下载(get)不能读的文件
在这里插入图片描述下载到了访问时,主机所处的位置
在这里插入图片描述

6.删除、重命名控制

anon_other_write_enable=YES|NO
在这里插入图片描述
在这里插入图片描述

7.匿名用户上传文件权限设定

anon_umask=xxx
文件上传权限=777-系统保留权限umask-111
当设定chown_username之后上传文权限将不是用此参数设定
在这里插入图片描述644=777-022-111
在这里插入图片描述

8.匿名用户上传文件的用户身份设定

当设定chown_username之后设定的umask上传文权限将失效
chown_upload=YES
chown_username=lee
chown_upload_mode=0644
当chown_upload为开启状态(YES)
上传文件之后,拥有者为设定的username,权限为设定的数字

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

9.登录数量控制

在这里插入图片描述
开启多个shell连接,第三台连接失败
在这里插入图片描述

10.上传速率限制

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

五、本地用户的访问

lftp ip -u username ##本地用户访问

1.家目录控制

在这里插入图片描述

2.写权限控制

在这里插入图片描述

3.上传文件权限控制

在这里插入图片描述

4.用户登录控制

用户登录黑名单

编辑默认黑名单/etc/vsfptd/user_list,当userlist_deny=YES时,默认作为黑名单使用。
编辑永久黑名单/etc/vsftpd/user_list,此文件不受userlist_deny开启或关闭的影响。
黑名单内的用户无法访问ftp

在这里插入图片描述

在这里插入图片描述黑名单内的westos用户无法登陆

在这里插入图片描述

用户登录白名单

userlist_deny=NO,及用户默认黑名单处于关闭状态时,此时文件/etc/vsftpd/user_list作为白名单来使用
只有白名单里的用户可以访问ftp网址
在这里插入图片描述

在这里插入图片描述

5.锁定用户到自己的家目录中(不能使用cd移动到其他路径)

chmod u-w /home/*

锁定用户到自己的家目录中的白名单

chroot_local_user=YES及用户家目录锁定控制处于开启状态
chroot_list_enable=YES及名单开启
写入chroot_list_file=/etc/vsftpd/chroot_list名单文件
此时/etc/vsftpd/chroot_list文件作为白名单使用
也就是说,除了白名单之内的用户,其余用户皆被锁定到家目录中。
白名单以内的用户可以移动到其他路径。
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

锁定用户到自己的家目录中的黑名单

chroot_local_user=NO及用户家目录锁定控制处于关闭状态
chroot_list_enable=YES及名单开启
写入chroot_list_file=/etc/vsftpd/chroot_list名单文件
此时/etc/vsftpd/chroot_list文件作为黑名单使用
也就是说,只有黑名单之内的用户被锁定到自己的家目录中。
在这里插入图片描述
在这里插入图片描述

六、虚拟用户访问

1.建立虚拟用户过程

1)建立认证文件模板
文件名任意

在这里插入图片描述

2)加密认证文件

在这里插入图片描述

3)建立认证策略文件
名称随意

注意:.db文件为自动生成的
最后的.db后缀不要自己写
正确写法:
在这里插入图片描述

4)编辑vsftpd配置文件并重启服务

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

在这里插入图片描述

2.虚拟用户家目录设定

1)创建虚拟用户家目录
创建各个用户不同的家目录的同时,创建几个有区分性的文件,方便实验中识别
在这里插入图片描述2)将设定的用户家目录写入vsftpd配置文件,并重启服务
¥USER为一个变量
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

3.用户配置独立权限

在这里插入图片描述设定完成后,user1用户可以上传文件,其他用户不可以
在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到