vsftpd服务的部署

vsftpd服务的部署

**实验环境:**挂载镜像并配置yum仓库。
vsftpd服务的部署_第1张图片
vsftpd服务的部署_第2张图片

1.ftp介绍

ftp:全称为file transfer proto
ftp是互联网中最老牌的文件传输协议

2.vsftpd安装

yum install vsftpd -y      #安装vsftpd
关闭selinux 
关闭firewalld 
systemctl start vsftpd     #重启vsftpd
systemctl enable vsftpd

vsftpd服务的部署_第3张图片
vsftpd服务的部署_第4张图片
测试安装发布:1. firefox ftp://ip
2. lftp ip ##此访问方式必须能列出资源才算访问成功
vsftpd服务的部署_第5张图片

3.vsftpd基本信息

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

4.匿名用户访问控制

lftp 192.168.0.10 ##当访问ftp服务时没有加入用户认证为匿名访问
lftp 192.168.0.10 -u lee ##本地用户访问
vsftpd服务的部署_第6张图片
vsftpd服务的部署_第7张图片
通过修改主配置文件: /etc/vsftpd/vsftpd.conf 去对访问进行控制。
vsftpd服务的部署_第8张图片
登陆控制
anonymous_enable=YES|NO
YES表示匿名用户访问开启
家目录控制
anon_root=/software
上传控制
anon_upload_enable=YES|NO
vsftpd服务的部署_第9张图片

上传时,不能直接上传到/var/ftp/,只能上传到/var/ftp/pub/,不然会报错。
报错信息:
550 ##程序本身拒绝
553 ##文件系统权限限制
500 ##权限过大
530 ##认证失败

vsftpd服务的部署_第10张图片
vsftpd服务的部署_第11张图片
vsftpd服务的部署_第12张图片

chmod 777 /var/ftp/pub 
lftp 192.168.0.10 
cd pub 
put /etc/passwd

vsftpd服务的部署_第13张图片
在这里插入图片描述

同理:所有的控制都是通过修改主配置文件: /etc/vsftpd/vsftpd.conf 去对访问进行控制。

下载控制 anon_world_readable_only=NO 		##匿名用户可以下载不能读的文件 
目录建立控制 anon_mkdir_write_enable=YES|NO
目录建立控制 anon_mkdir_write_enable=YES|NO
删除重命令控制 anon_other_write_enable=YES|NO
登陆数量控制: max_clients=2
上传速率控制 anon_max_rate=102400

5.本地用户的访问

登陆控制

登陆控制
useradd westos     #新建用户westos
useradd lee 	   #新建用户lee
echo lee | passwd --stdin westos 		#设定westos用户登陆密码
echo lee | passwd --stdin lee			#设定lee用户登陆密码
lftp 192.168.0.10 -u lee				#lee用户登陆
local_enable=NO|YES            #本地用户访问

vsftpd服务的部署_第14张图片

家目录控制 
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

家目录控制
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. 建立虚拟用户过程

vim /etc/vsftpd/ftp_auth_file 			#建立认证文件模板 
westos1
123
westos2									#新建三个用户westos1,westos2,westos3
123 
westos3
123
  1. db_load -T -t hash -f ftp_auth_file ftp_auth_file.db
    ##加密认证文件 -T 转换 -t 类型 -f 指定转换文件
vim /etc/pam.d/westos 
1.account		 required 		pam_userdb.so 		db=/etc/vsftpd/ ftp_auth_file 
2.auth		 required 		pam_userdb.so 		db=/etc/vsftpd/ ftp_auth_file
  1. vim /etc/vsftpd/vsftpd.conf
    pam_service_name=westos ##指定认证策略文件
    guest_enable=YES ##指定虚拟用户功能开启
    guest_username=ftp ##指定虚拟用户在ftp服务器上的用户身份
    虚拟用户家目录的独立设定
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 

用户配置独立

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不行

你可能感兴趣的:(rhcsa)