centos7 vsftpd 进阶配置(主动模式配置+限定用户访问范围)

一、下载安装包

        通过yum一次性下载好所有的依赖和 vsftpd

yum install -y vim net-tools 
yum install -y vsftpd* pam* db4*

 二、配置介绍

anonymous_enable=YES   #是否启用匿名用户
no_anon_password=YES   #匿名用户login时不询问口令
anon_upload_enable=(yes/no); #控制匿名用户对文件(非目录)上传权限
anon_world_readable_only=(yes/no); #控制匿名用户对文件的下载权限
anon_mkdir_write_enable=(yes/no); #控制匿名用户对文件夹的创建权限
anon_other_write_enable=(yes/no); #控制匿名用户对文件和文件夹的删除和重命名
write_enable=YES #全局设置,是否容许写入(无论是匿名用户还是本地用户,若要启用上传权限的话,就要开启它)
anon_root=(none) #匿名用户主目录
anon_max_rate=(0) #匿名用户速度限制
anon_umask=(077) #匿名用户上传文件时有掩码(若想让匿名用户上传的文件能直接被匿名下载,就这设置这里为073)
chown_uploads=YES #所有匿名上传的文件的所属用户将会被更改成chown_username
chown_username=whoever #匿名上传文件所属用户名
本地用户权限控制:
write_enable=YES #可以上传(全局控制) 删除,重命名
local_umask=022 #本地用户上传文件的umask
userlist_enable=YES #限制了/etc/vsftpd/user_list文件里的用户不能访问
local_root #设置一个本地用户登录后进入到的目录
user_config_dir #设置用户的单独配置文件所在目录,用哪个帐户登陆就用哪个账号名称在目录下新建文件,实现不同用户不同权限
download_enable #限制用户的下载权限
chroot_local_user=YES/NO #是否禁止用户离开设置的根目录
chroot_list_enable=YES #如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录
chroot_list_file=/etc/vsftpd/chroot_list #指出被锁定/允许 在自家目录中的用户的列

三、配置配置文件

vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

anon_upload_enable=YES

dirmessage_enable=YES

xferlog_enable=YES
port_enable=YES
connect_from_port_20=YES
listen=NO
listen_ipv6=YES

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

allow_writeable_chroot=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
local_root=/home/ftpuser

四、设置权限测试

#创建一个测试用户,不允许登录,并且赋权(目录权限)
useradd  -M -d /home/ftps  -s /sbin/nologin ftp_user  
echo "123456"|passwd --stdin ftp_user
mkdir -p  /home/ftps
mkdir -p  /home/ftps/update
chown ftp_user:ftp_user /home/ftps/
echo "ftp_user" >> /etc/vsftpd/chroot_list
chmod 755 /home/ftps
chmod -R 555 /home/ftps/*
从vsftpd 2.3.0版本开始vsftpd默认会检查用户的shell,如果用户的shell在/etc/shells没有记录,则无法登陆ftp
cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash

grep ftp_user /etc/passwd
ftp_user:x:1000:1000::/data/ftp:/sbin/nologin
echo '/sbin/nologin' >> /etc/shells
service vsftpd restart
这样 我们就限定了 ftpuser 用户只能访问我们限定的主目录下。且禁用了匿名用户访问,感兴趣的可以自己设计配置文件,看看不同效果

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陆尼

5以上的鼓将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值