Linux入门 18_Linux系统Vsftpd服务的部署及优化

实验环境

服务端
172.25.254.173
selinux关闭
防火墙开启
与主机网络仓库连接

主机端
172.25.254.73
selinux关闭
搭建网络仓库
安装lftp

一、ftp是什么?

文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。
FTP允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。然而, 用户并不真正登录到自己想要存取的计算机上面而成为完全用户, 可用FTP程序访问远程资源, 实现用户往返传输文件、目录管理以及访问电子邮件等等, 即使双方计算机可能配有不同的操作系统和文件存储方式。

二、vsftpd安装及启用

1.引入库

为了后期实验方便,在这里将两个服务安装在服务器端

1.安装
dnf install vsftpd -y			#server
dnf install lftp -y			#client

2.关闭selinux
systemctl disable --now firewalld 

3.匿名访问
vim /etc/vsftpd/vsftpd.conf
12行左右 anonymous_enable=YES			##启动匿名用户的访问功能

systemctl restart vsftpd 	#服务重启

测试安装发布:
firefox ftp://ip
lftp ip			##此访问方式必须能列出资源才算访问成功
ls				##列出资源
				##在使用完成后请输入exit退出lftp

在这里插入图片描述
在客户端 lftp 172.25.254.173 访问出现资源表示成功
在这里插入图片描述

2.vsftpd基本信息

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

3.匿名用户访问控制

登陆方式

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

登陆控制

anonymous_enable=YES|NO		##匿名用户的访问功能

家目录控制

anon_root=/westosdir

上传控制

anon_upload_enable=YES|NO

目录建立控制

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

上传速率控制

anon_max_rate=102400

4.本地用户的访问

登陆控制

useradd westos
useradd lee
echo lee | passwd --stdin westos
echo lee | passwd --stdin lee

lftp	192.168.0.10 -u westos

local_enable=NO|YES

家目录控制

local_root=/software

写权限控制

write_enable=NO|YES

上传文件权限控制

local_umask=077

用户登陆控制

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

用户登陆白名单

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

6.虚拟用户访问

1.建立虚拟用户过程

1.vim /etc/vsftpd/ftp_auth_file			#建立认证文件模板
westos1
123
westos2
123
westos3
123
2.db_load -T -t hash -f ftp_auth_file ftp_auth_file.db	##加密认证文件       -T 转换 -t type -f 指定转换文件
3.vim /etc/pam.d/westos
account		required	pam_userdb.so		db=/etc/vsftpd/ftp_auth_file	
auth		required	pam_userdb.so		db=/etc/vsftpd/ftp_auth_file
4.vim /etc/vsftpd/vsftpd.conf
pam_service_name=westos			##指定认证策略文件
guest_enable=YES			##指定虚拟用户功能开启
guest_username=ftp			##指定虚拟用户在ftp服务器上的用户身份

在这里插入图片描述

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

mkdir  -p /ftpuserdir/westos{1..3}
touch  /ftpuserdir/westos1/westos1file
touch  /ftpuserdir/westos2/westos2file
touch  /ftpuserdir/westos3/westos3file

vim /etc/vsftpd/vsftpd.conf 
local_root=/ftpuserdir/$USER
user_sub_token=$USER


systemctl restart vsftpd

3.用户配置独立

user_config_dir=/etc/vsftpd/user_config	#在此目录中与用户名称相同的文件为用户配置文件
mkdir /etc/vsftpd/user_config
vim /etc/vsftpd/user_config/westos2
anon_upload_enable=YES

设定完成后westos2用户可以上传文件
westos1和westos3不行
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿王不想秃头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值