Linux系统工程师3--1.Vsftpd服务的部署及优化

目录

 1.ftp介绍

 2.vsftpd安装及启用

 3.vsftpd基本信息

4.匿名访问控制 

 5.本地用户的访问

6.虚拟用户访问

6.1 建立虚拟用户

 6.2加密认证文件

 6.3认证信息

6.4 指定认证策略

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

8.用户配置独立 


 

实验环境:

selinux关闭
vim /etc/sysconfig/selinux
SELINUX=disabled
重启电脑
软件仓库搭建好

 1.ftp介绍

ftp:file transfer proto

互联中最老牌的文件传输协议

 2.vsftpd安装及启用

dnf install  vsftpd.x86_64 lftp.x86_64 -y        #下载客户端和服务器
                server           client

systemctl enable --now vsftpd

netstat -antlupe | grep vsftpd                        #查看端口号

vim /etc/vsftpd/vsftpd.conf

anonymous_enable=YES                           #设置允许匿名访问


如果出错可以查看日志,寻找错误原因,journalctl -xe


systemctl restart vsftpd

firewall-cmd --permanent --add-service=ftp   #设置火墙
               永久执行

firewall-cmd --reload

firewall-cmd --list all

 3.vsftpd基本信息

 服务名称:
vsftpd.service     

 配置目录:
/etc/vsftpd

主配置文件:
/etc/vsftpd/vsftpd.conf

默认发布目录:
/var/ftp

报错信息:
550              #程序本身拒绝
553              #文件系统权限限制
500              #权限过大
530              #认证失败

4.匿名访问控制 

lftp  172.25.254.221                               #当访问ftp服务时没有加入用户认证为匿名访问

lftp  172.25.254.221 -u westos                #本地用户访问

登陆控制
anonymous_enable=YES|NO                        #允许匿名登陆

家目录控制
anon_root=/westosdir                                    #更改家目录指向

上传控制
anon_upload_enable=YES|NO                     #允许匿名用户上传文件

chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub

 

记得重启服务


lftp 172.25.254.221
cd pub
put /etc/passwd                                             #上传文件

目录建立控制
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=westos                      #虚拟用户建立的文件用户为westos
chown_upload_mode=0644                   #更新文件的权限为0644
 


登陆数量控制
max_clients=2                                       #最大登陆数量,一般是50个

上传速率控制
anon_max_rate=102400                      # 100k  (单位是字节)


创建一个文件file1
dd if=/dev/zero of=file1 bs=1M count=500 给他500M大小
把file1上传到文件里,查看传输速率

 

 5.本地用户的访问

登陆控制
useradd westos
useradd lee
echo westos | passwd --stdin westos
echo westos | passwd --stdin lee
lftp 172.25.254.221 -u lee

local_enable=NO|YES                #是否本地用户可以登陆

家目录控制
local_root=/westosdir                  #改变家目录路径

写权限控制
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.虚拟用户访问


6.1 建立虚拟用户

 vim /etc/vsftpd/ftp_auth_file              #建立认证文件模板
 westos1
 123
 westos2
 123
 westos3
 123

 6.2加密认证文件

db_load  -T  -t  hash  -f  ftp_auth_file  ftp_auth_file.db    #加密认证文件

-T 转换 -t type -f 指定转换文件 

 6.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 

6.4 指定认证策略

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

 

 

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

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

 

 

8.用户配置独立 

vim /etc/vsftpd/vsftpd.conf

 先注释掉

anon_upload_enable=YES

anon_other_write_enable=YES

anon_other_readable_only=NO

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

mkdir /etc/vsftpd/westos

vim /etc/vsftpd/westos/westos1
anon_upload_enable=YES

chgrp ftp /ftpuserdir/user{1..3}/pub
chmod 775 /ftpuserdir/user{1..3}/pub

 

设定完成后user1用户可以上传文件
user2和user3不行

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值