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

目录

Vsftpd服务的优化及部署

1、vsftpd安装及应用

 2、vsftp基本信息

 3、匿名用户访问控制

匿名用户登录控制

家目录控制

上传控制

目录建立控制

下载控制

 删除或重命名控制

匿名用户上传文件权限设定

匿名用户上传文件的用户身份设定

登录数量设定

上传速率限制

  5.本地用户的访问

登陆控制

家目录控制

写权限控制

上传文件权限控制

用户登陆控制

用户登陆白名单

锁定用户到自己的家目录中

锁定用户到自己的家目录中的白名单

锁定用户到自己的家目录中的黑名单

6. 虚拟用户的访问

建立虚拟用户过程

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

用户独立配置


Vsftpd服务的优化及部署

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

实验环境:

关闭selinux:    vim /etc/sysconfig/selinux   
SELINUX=disabled
重启电脑后生效
getenforce
Disabled
搭建软件仓库
vim /etc/yum.repos.d/westos.repo
安装ftp服务

1、vsftpd安装及应用

dnf search ftp                                 查找ftp服务安装包
dnf install vsftpd.x86_64 lftp.x86_64 -y       下载ftp服务和客户端安装包
rpm -ql vsftpd                                 查看配置文件什么的位置
systemctl enable --now vsftpd                  开启服务
netstat -antlupe | grep vsftpd                 查看端口
lftp 172.25.254.220                            不指定用户测试 (报错530)
lftp 172.25.254.220 -u westos                  指定用户测试
vim /etc/vsftpd/vsftpd.conf                    打开配置文件 12行: anonymous_enable=YES 设置匿名用户可以登录
systemctl restart vsftpd                       重启服务
lftp 172.25.254.220                            测试

firewall-cmd --permanent --add-service=ftp     火墙设置 添加ftp服务
firewall-cmd --reload                          重启
firewall-cmd --list-all                        
网页: ftp://172.25.254.220/

 

  实验前必须要在火墙添ftp服务,关闭selinux并重启否则服务会报错

 2、vsftp基本信息

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

 3、匿名用户访问控制

lftp 172.25.254.220              #不加用户名 为匿名访问
lftp 172.25.254.220 -u westos    #本地用户访问

匿名用户登录控制

anonymous_enable=YES|NO          #yes允许匿名用户登录

家目录控制

ANON_root=/westosdir             #/var/ftp更改为/westosdir 再次连接会在此目录中

上传控制

anon_upload_enable=YES|NO

chmod 775 /var/ftp/pub           #通常不更改"/var/ftp"目录的权限(更改后服务无法正常启动)
chgrp ftp /var/ftp/pub
lftp 172.25.254.220
cd pub
put /etc/passwd                  #上传:put   下载:get

目录建立控制

anon_mkdir_write_enable=YES|NO

下载控制

anon_world_readable_only=NO      #不限制匿名用户的下载(YES:限制匿名只能下载可读文件)

 删除或重命名控制

anon_other_write_enable=YES|NO

匿名用户上传文件权限设定

anon_umask=xxx
anon_umask=022
权限=777-umask-111=644           #设定chown_username后上传文件权限将不是此参数设定

匿名用户上传文件的用户身份设定

chown_upload=YES
chown_usernam=lee
chown_upload_mode=0644

登录数量设定

max_clients=2         #默认为50个

上传速率限制

anon_max_rate=102400 (单位:字节)=100k
测试:dd if=/dev/zero of=westosfile bs=1M count=500  #截取500M(单位为1M,取500块)文件,文件取名为westosfile
put

 

  5.本地用户的访问

登陆控制

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

lftp 172.25.254.220 -u westos
local_enable=NO|YES

家目录控制

local_root=/software

写权限控制

write_enable=NO|YES

上传文件权限控制

local_umask=077

用户登陆控制

/etc/vsftpd/ftpusers    ##永久黑 (权限最高)   ls: Login failed: 530 Login incorrect.

/etc/vsftpd/user_list   ##默认黑            ls: Login failed: 530 Permission denied.

用户登陆白名单

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           指定限制名单为 /etc/vsftpd/chroot_list

锁定用户到自己的家目录中的黑名单

chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

6. 虚拟用户的访问

建立虚拟用户过程

vim /etc/vsftpd/westos_pam      建立认证文件模板
user1
123
user2
123
user3
123

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

vim /etc/pam.d/westos            转换文件
account   required    pam_userdb.so    db=/etc/vsftpd/westos_pam
auth      required    pam_userdb.so    db=/etc/vsftpd/westos_pam
账号/密码     认证          插件                 查询的文件
(此处westos_pam.db文件会自动补全,所以写的时候去掉后缀,否则会变成westos_pam.db.db)

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

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

mkdir -p /ftphome/user{1..3}
touch /ftphome/user1/user1file
touch /ftphome/user2/user2file
touch /ftphome/user3/user3file
mkdir /ftphome/user{1..3}/pub

vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserdir/$USER         
user_sub_token=$USER                  变量声明

用户独立配置

user_config_dir=/etc/vsftpd/westos    此目录中建立与用户名相同的文件为用户配置文件
mkdir /etc/vsftpd/westos
vim /etc/vsftpd/westos/user1
anon_upload_enable=YES

chmod 775 /ftphome/user{1..3}/pub
chgrp ftp /ftphome/user{1..3}/pub
drwxrwxr-x    2 0        50              6 Jul 30 06:03 pub

设定后user1用户可以上传文件 user2、3不行

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值