3_一Vsftpd服务的部署及优化

实验环境

		实验环境	一台虚拟机,改ip、名字、无图形、
			改	/etc/sysconfig/selinux文件,  改disabled


    dnf install vsftpd.x86_64(服务器)       lftp.x86_64(客户端便于自机测试)(实机测试也要下载)-y

	rpm -ql vsftpd			#查询vsftpd的相关文件
	systemctl enable --now vsftpd	#开启ftp服务
	netstat -antlupe | grep vsftpd	#查看他的端口
tcp6       0      0 :::21 # port                  :::*                    LISTEN      0          84899      28229/vsftpd        
	lftp 172.25.254.101 -u westos	#指定用户使用ftp访问  默认目录为ftp://westos@172.25.254.101/%2Fhome/westos

vim .vimrc 写入set nu并wq退出保存 ##结果: 用vim 查看显示行号

简单测试实验

		ftp服务默认匿名用户是被拒绝访问的    若想访问进行配置文件的修改
		vim /etc/vsftpd/vsftpd.conf		#配置文件位置
			anonymous_enable=YES		#修改参数anonymous_enable=NO|YES	YES,允许匿名访问
			
			systemctl restart vsftpd	#重启访问
			lftp 172.25.254.101		
										#当前目录/var/ftp/
			测试	touch /var/ftp/westos1
				lftp 172.25.254.101   再ls   看有无westos1文件
			以上是本机自测,先用实机的浏览器访问
				进不去,原因  服务器的火墙关掉或者火墙允许ftp与外界交互
			虚拟机:firewall-cmd --permanent --add-service=ftp	#允许ftp
			      	firewall-cmd --reload 						#重启firewall
     				firewall-cmd --list-all						#查看firewall允许的列表
					实机用浏览器测试
					
[root@westos_westosftp ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens3
  sources: 
  services: cockpit dhcpv6-client ftp ssh 		##有ftp
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

1、配置文件参数 全针对匿名用户

	vim /etc/vsftpd/vsftpd.conf	配置文件参数   全针对匿名用户
anonymous_enable=YES		#对匿名用户的登陆控制   YES允许
anon_root=/westosdir		#家目录控制			进ftp默认目录
anon_upload_enable=YES		#匿名用户上传控制	YES允许		no报错  550
		报错553  权力过小	解决办法
注释掉anon_root=/westosdir
		重新开启一个shell进行修改,不要再ftp上改
chmod 775 /var/ftp/pub		#改权限		!775		
chgrp ftp /var/ftp/pub		#改/var/ftp/pub的拥有组
cd pub				
put	/etc/pass				#put  上传
anon_world_readable_only=YES	#下载控制	get 下载	   !!!no  是能下载		yes=拒绝下载
anon_umask=022		#umask值,目录权限755文件权限644  !chown_username之后上传权限将不是用此参数
anon_other_write_enable=YES	#YES  可以删除
匿名用户上传文件的用户设定
 chown_uploads=YES		#打开			!
 chown_username=westos		#指定用户	!和上个参数一起用才生效
 chown_upload_mode=0644		#指定权限   !anon_umask参数失效

 max_clients=2			#登陆数量控制
 anon_max_rate=102400		#上传速率控制	单位字节  102400相当于100多k

测试 控制变量法,有的有顺序 记得重新开启服务

此处本该有截图!!!
懒了!
控制变量法,一个一个参数来!

测试心得

1、ftp是系统用户 是真实存在但使用不了,还有普通用户,超级用户 他们的权力从此测试可以深深感受到
2、上传文件测试,下载测试,如果不可以 就要考虑。/var/ftp/pub的权限和拥有组是否有问题。
3、上传文件 用的那台机器连接虚拟机就在那台机子上找文件上传,不要无中生有,暗渡陈仓!

ftp介绍

ftp:file transfer proto
互联中最老牌的文件传输协议

vsftpd基本信息

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

本地用户的访问

登陆控制
useradd westos
useradd lee
echo lee | passwd --stdin westos
echo lee | passwd --stdin lee
lftp 172.25.254.101 -u westos
local_enable=NO|YES		#YES   允许


家目录控制
local_root=/westosdir		#登陆目录改变


写权限控制
write_enable=NO|YES		#YES  可以上传文件   NO  不可以
				#这样做提升安全系数

上传文件权限控制local_umask=077	#上传文件权限为600


用户登陆控制	这个是系统级的黑白名单立即生效,不是改/etc/vsftpd/vsftpd.conf配置文件
/etc/vsftpd/ftpusers		##永久黑		不需要重启服务	权力巨大
/etc/vsftpd/user_list		##默认黑也可能是白名单	不需要重启服务


用户登陆白名单			

userlist_deny=NO		#设定/etc/vsftpd/user_list位白名单
				#不在名单中的用户不能登陆ftp
				#白名单对/etc/vsftpd/ftpusers里的用户不生效


锁定用户到自己的家目录中	
chmod u-w /home/*		#shell中
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	##名单中的用户不可以  在本机随意浏览

虚拟用户登陆 游客登陆 虚拟用户家目录的独立设定

[root@westos_westosftp vsftpd]# cat westos_pam	#建立认证文件
user1			#用户
lee			#密码
user2
lee
user3
123
[root@westos_westosftp vsftpd]# db_load -T -t hash -f westos_pam westos_pam.db #加密认证文件   -T 转换  -t type	-f 指定


[root@westos_westosftp vsftpd]# cat /etc/pam.d/westos 		#写认证文档
account required 	pam_userdb.so( pam_userdb.so函数) db=/etc/vsftpd/westos_pam
auth    required        pam_userdb.so(pam_userdb.so函数 ) db=/etc/vsftpd/westos_pam


[root@westos_westosftp vsftpd]# tail vsftpd.conf 	#改写配置文件
listen_ipv6=YES
pam_service_name=westos					#指定认证文档
userlist_enable=YES					#开启认证文档
guest_enable=YES				#游客开启
guest_username=ftp				#借用ftp用户
[root@westos_westosftp vsftpd]# systemctl restart vsftpd	#重启服务

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

建立相关的文件  证明这是他的默认家目录

1  mkdir -p /ftphome/user{1..3}
2  ls /ftphome/
3  touch /ftphome/user1/file1
4  touch /ftphome/user2/file2
5  touch /ftphome/user3/file3
6  mkdir /ftphome/user{1..3}/pub


改配置文件 	
local_root=/ftphome/$USER	#把之前的local_root注释掉   $函数让USER自动识别相对应的数字
user_sub_token=$USER		#以上$USER是shell用法  得告诉程序我们用的是什么! 

用户配置独立

man 5 vsftpd.conf ##user_config_dir  目录指定与用户名称相同的文件为用户配置文件
user_config_dir=/etc/vsftpd/lee 	#在配置文件中修改

mkdir /etc/vsftpd/lee		#建立lee用户配置文件 里面文件名为指定用户
vim /etc/vsftpd/lee/user3	#添加  anon_upload_enable=YES  针对user3

在配置文件中记得注释掉  anon的相关参数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值