VSFTP简略

VSFTP

Author: CloudVapour

Date: 2020/2/26

Usage: ftp区分不同权限


以下操作必须关闭防火墙,selinux,如果 FTP服务器开启了SELinux针对FTP数据传输的策略,也会造成“无法切换目录”的错误提示。

单用户及权限问题

准备:

# 准备ftp的家目录
mkdir   /vsftp
# 授权(这样授权会出问题,稍后解释)
chmod -R 777 /vsftp
# 最好在目录里创个文件,检查时比较有感觉
touch /vsftp/index.html
# 准备用户用来登录,标准化最好是是这个用户不要给它登录shell的权限(自行设置密码)
useradd -s  /sbin/nologin    cloudvapour 

详细步骤

1.下载vsftpd服务
yum  install  vsftpd  -y
2.修改配置文件
vi  /etc/vsftpd/vsftpd.conf
# 第12行需要关闭匿名模式
anonymous_enable=NO

# 开启101行,102行开启限制用户在当前家目录(不允许随意向上跳转目录)
chroot_local_user=YES
chroot_list_enable=YES

# 开启第104行,限制用户名单,结合上两条配置会产生不同的组合,这里会使名单中的用户不受跳转限制(自行创建)
chroot_list_file=/etc/vsftpd/chroot_list

# 定义家目录位置(家目录需提前创建)
local_root=/vsftp
touch  /etc/vsftpd/chroot_list
3.给ftp的根目录授权

注:这里要注意默认是不能给写权限的,从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。

如果你坚决想给这样的权限:

chmod 777 /vsftp

会报错!!!

vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot

解决方法(两种):

(1)去掉写权限(解决不了问题,那就解决提出问题的人!)

chmod a-w /vsftp             # 或者   chmod 555 /vsftp

(2)打开限制(在配置文件/etc/vsftpd/vsftpd.conf<全局生效>在用户子配置文件中<单用户不生效>)

allow_writeable_chroot=YES

这样用户就既被限制在自己家目录中,同时又有写权限了。

4.启动服务
systemctl   restart   vsftpd
5.自行检查

这里比较简单,不做详细解释了

多用户及权限问题

准备:

# 准备ftp的家目录

mkdir   /master    /slave   

# 授权(这样授权会出问题,稍后解释)

chmod -R 777 /master    /slave

# 最好在目录里创个文件,检查时比较有感觉

touch /{master,slave}/index.html
touch /master/11111

# 创建两个验证用户(自行设密码)
useradd -s  /sbin/nologin    master 
useradd -s  /sbin/nologin    slave

详细步骤

1.下载vsftpd服务
yum  install  vsftpd  -y
2.修改配置文件
vi  /etc/vsftpd/vsftpd.conf
# 第12行需要关闭匿名模式
anonymous_enable=NO

# 开启101行,102行开启限制用户在当前家目录(不允许随意向上跳转目录)
chroot_local_user=YES
chroot_list_enable=YES

# 开启第104行,限制用户名单,结合上两条配置会产生不同的组合,这里会使名单中的用户不受跳转限制(自行创建)
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES   # centos7还是加上吧,毕竟有的用户需要写
# 定义家目录位置(家目录需提前创建)
local_root=/vsftp
# 定义子配置文件(使用不同用户进入不同目录)
user_config_dir=/etc/vsftpd/userconf
3.定义子配置文件
mkdir  /etc/vsftpd/userconf
# vi /etc/vsftpd/userconf/master

local_root=/master
# vi /etc/vsftpd/userconf/slave

local_root=/slave
4.自行了解
# 单用户文件可以配置
write_enable=no

download_enable=YES

# 虚拟用户不打算讨论,但是需要了解

virtual_use_local_privs=NO

anon_world_readable_only=NO

write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

思考:

如何实现管理员权限和普通用户权限呢?请注意一个细节,ftp是以文件划分的,请你思考,思考这个对于ftp权限知识很有帮助~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值