ftp服务的配置及常见报错

ftp常见的权限报错

##	Login failed: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
	500		##文件系统权限过大,如果用户被限定在了其主目录下,
	则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误,
	解决办法是修改其主目录的权限,去掉写的权限即可
	
	530 	##用户认证失败
	550  	##服务不允许,服务本身功能未开放
##	Access failed: 553 Could not create file.
	553		##本地文件系统权限过小,(需要增加权限才能操作),解决方法就是chgrp和chmod修改目录权限
1、定义
ftp://			##文件传输协议
2、安装

可直接yum
安装vsftpd

yum install vsftpd -y
systemctl start vsftpd
systemctl enable vsftpd

防火墙开的话需要在规则中允许ftp服务

firewall-cmd --permanent  --add-service=ftp	
			##配置防火墙允许ftp服务的执行(防火墙开启情况下)
firewall-cmd --reload	##更新防火墙规则
firewall-cmd --list-all	##查看防火墙列表中是否允许ftp
3、配置
默认开启端口是21
配置目录在/etc/vsftpd
主配置文件是/etc/vsftpd/vsftpd.conf
默认用户登陆的目录为/var/ftp/pub
1)用户登陆
anonymous_enable=YES|NO 	##匿名用户是否可以登陆
local_enable=YES|NO			##本地用户是否可以登陆

如图,就表示用户没有登陆权限
在这里插入图片描述

2)ftp对登陆用户是否可写
write_enable=YES|NO			##ftp是否对登陆用户可写
3)匿名用户上传
##修改配置文件
	write_enable=YES	
	anon_upload_enable=YES	##表示允许匿名用户上传
##给pub目录权限
chgrp ftp /var/ftp/pub	
chmod 775 /var/ftp/pub
4)匿名用户下载,此处设定略有不同,一定注意
## 此句默认配置文件中没有,需要加
anon_world_readable_only=NO|YES		##设定NO表示可以下载
5)匿名用户家目录修改
##在配置文件中加一行,指出匿名用户的家目录所在,注意给目录权限
anon_root=/anonhome	
6)匿名用户上传文件默认权限修改
##默认是022
anon_umask=022
7)匿名用户建立目录
anon_mkdir_write_enable=YES|NO
8)匿名用户删除
##此句默认配置文件中没有,需添加
anon_other_write_enable=YES|NO
9)匿名用户使用的用户身份修改
chown_uploads=YES
chown_username=games	##使用games用户身份
chown_upload_mode=0064		##权限,需另行添加

在这里插入图片描述

10)最大上传速率
anon_max_rate=102400	##最大上传速率设定为100k
测试:	dd if=/dev/zero of=bigfile bs=1M count=500	
	 	上传看速率

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

G、最大连接数
max_clients=2

2)、本地用户

A、本地用户家目录的修改
local_root=/westos ##根目录默认在/var/ftp
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
本地用户上传文件权限
23行 local_umask=022

B、限制本地用户浏览/目录
所有用户被锁在自己的家目录

 chroot_local_user=YES	##所有用户不能浏览/
 chroot_list_enable=YES
 # (default follows)
 chroot_list_file=/etc/vsftpd/chroot_list

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

C、白名单的建立
110 chroot_local_user=YES ##yes表示不能浏览" / ",所以名单中是白名单
111 chroot_list_enable=YES
112 # (default follows)
113 chroot_list_file=/etc/vsftpd/chroot_list

vim /etc/vsftpd/chroot_list
student
实验:
设置白名单前
在这里插入图片描述
设置student在白名单中
在这里插入图片描述
在这里插入图片描述
设置白名单后,测试:
在这里插入图片描述
在这里插入图片描述

D、黑名单的建立
110 chroot_local_user=NO ##no表示能浏览/,所以名单是黑名单
111 chroot_list_enable=YES
112 # (default follows)
113 chroot_list_file=/etc/vsftpd/chroot_list

vim /etc/vsftpd/chroot_list
student
实验
设置黑名单
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试:
在这里插入图片描述

E、限制本地用户登陆

vim /etc/vsftpd/ftpusers				##用户黑名单
vim /etc/vsftpd/user_list				##用户临时黑名单

设置前:
在这里插入图片描述
把student加入黑名单
在这里插入图片描述
在这里插入图片描述
测试:
在这里插入图片描述

F、白名单设定

 vim /etc/vsftpd/vsftpd.conf
	 userlist_enable=YES
	 userlist_deny=NO		##添加此条后。临时黑名单就变成白名单
vim /etc/vsftpd/user_list
	student

实验:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
测试:可以看到被加入白名单的student可以登陆,其他用户不能登陆
在这里插入图片描述

4、ftp虚拟用户的设定
1)创建虚拟用户

 vim /etc/vsftpd/userfile		##文件名任意,创建虚拟用户及密码
	westos1
	123
	westos2
	123
	westos3
	123
db_load -T -t hash -f /etc/vsftpd/userfile /etc/vsftpd/userfile.db    ##hash加密
vim /etc/pam.d/ftpauth	##验证文件,文件名任意
帐号	account		required	pam_userdb.so	db=/etc/vsftpd/userfile
密码	auth		required	pam_userdb.so	db=/etc/vsftpd/userfile
					检测程序,系统中有	  此处文件默认加.db后缀
vim /etc/vsftpd/vsftpd.conf 
	修改pam_service_name=ftpauth	##此处文件名与验证文件名对应,删除时改为vsftpd
	        userlist_enable=YES
			tcp_wrappers=YES
	添加 guest_enable=YES		##虚拟用户功能开启,删除时删掉
	添加 guest_username=ftp		##虚拟帐号身份指定,删除时删掉

在这里插入图片描述
实验:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
验证:另一台主机虚拟用户登陆(虚拟用户设定后本地用户就无法登陆,如果要登陆需要把vsftp中的内容写到ftpauth中)
在这里插入图片描述

2)设定虚拟用户家目录

 mkdir /var/ftpuserdir/westos{1..3} -p	##建立虚拟用户家目录,-p表示没有目录默认建立
 vim /etc/vsftpd/vsftpd.conf
	添加 local_root=/var/ftpuserdir/$USER	##让每个用户进入自己的家目录
	添加 user_sub_token=$USER		##使$USER在shell中生效,系统读取
 systemctl restart vsftpd.service

实验
在这里插入图片描述
在这里插入图片描述
测试:每个用户家目录建立不同文件,登陆查看,可以看到每个用户进的是自己的家目录

     mkdir /var/ftpuserdir/westos{1..3}/pub -p
     mkdir /var/ftpuserdir/westos1/file1 -p
     mkdir /var/ftpuserdir/westos2/file2 -p
     mkdir /var/ftpuserdir/westos3/file3 -p

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

3)指定某些用户可以上传

mkdir /var/ftpuserdir/westos{1..3}/pub -p
chmod 775 /var/ftpuserdir/westos*/pub				##给pub权限,否则会出现553报错
chgrp ftp /var/ftpuserdir/westos*/pub					##给ftp权限
mkdir -p /etc/vsftpd/user_config							##建立目录
cd /etc/vsftpd/user_config/		
vim westos1
	anon_upload_enable=YES								##westos1允许上传
vim /etc/vsftpd/vsftpd.conf 
	把 30 #anon_upload_enable=YES注释掉,即所有匿名用户都不能上传
	user_config_dir=/etc/vsftpd/user_config		##读取改目录下的文件
systemctl restart vsftpd.service

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

在这里插入图片描述
在这里插入图片描述
测试 :westos1可上传,westos2、westos3无法上传
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值