阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

建立多个ftp虚拟机用户支持不同的访问权限实例

396次阅读
没有评论

共计 4155 个字符,预计需要花费 11 分钟才能阅读完成。

实验环境:
公司最近上了一款游戏, 当游戏客户端登录到服务器有补丁更新时, 是通过 ftp 来更新数据. 所以需要建立一个普通虚拟用户账号, 用于客户端登录 ftp 服务器更新补丁用,此账号只支持下载权限. 由于平时我们也要维护服务器后台上传数据, 需要建立一个专用虚拟用户账号, 此账号拥有所有权限. 还要把上传数据发布到普通虚拟用户家目录下,提供下载!

一个普通用户 public:下载
一个专用用户 personal:所有权限

解决方案:
1 创建用户数据库:
#vim /etc/vsftpd/vsftpd_login.txt
public  账号
public  密码
personal 账户
personal 密码

2 生成数据库:
db_load:安装 db4,db4-devel,db4-utils
#yum -y install db4*
#db_load -T -t hash -f /etc/vsftpd/vsftpd_login.txt /etc/vsftpd/vsftpd_login.db

3 修改数据文件访问权限:
chmod 600  /etc/vsftpd/vsftp_login.db

4 修改 pam 配置:
#cat /etc/pam.d/vsftpd
将原来的全部注释掉,加入:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
注意:db=/etc/vsftpd/vsftpd_login 后面的.db 必须去掉

5 创建虚拟账号对应的系统用户:

普通帐号 public 对应系统帐号 ftp_public,并指定其主目录为 /var/ftp/public
普通帐号 public 只允许下载,修改 public 目录其他用户权限为 rx 可读可执行

专用帐号 personal 对应系统帐号 ftp_personal, 指定主目录为 /var/ftp/personal
专用帐号 personal 允许上传和下载, 所以对 personal 目录权限设置为 rwx, 可读可写可执行, 如果不设置可执行用户登录会出不能更改目录错误
# useradd -d /var/ftp/personal/ -s /sbin/nologin ftp_personal
# useradd -d /var/ftp/public/ -s /sbin/nologin  ftp_public
# chmod -R 500 /var/ftp/public/
# chmod -R 700 /var/ftp/personal/

6 为不同的虚拟用户创建不用的 ftp 权限:
#vim /etc/vsftpd/vsftpd.com
anonymous_enable=NO(修改配置)禁用匿名用户登录
write_enable=YES(默认开启)允许使用任何可以修改文件系统的 FTP 的指令
local_enable=YES(默认开启)启用本地用户登录设置
chroot_local_user=YES(自建配置)将所有本地用户限制在家目录中
pam_service_name=vsftpd(默认开启)配置 vsftpd 使用的 PAM 模块为 vsftpd
user_config_dir=/etc/vsftpd/vsftpd_login(自建配置)设置虚拟帐号的主目录为 /vsftpd_login
max_clients=300(自建配置)设置 FTP 服务器最大接入客户端数为 300 个
max_per_ip=10(自建配置)设置每个 IP 地址最大连接数为 10 个
listen=YES
port_enable=NO(自建配置)取消 PORT 模式进行数据传输
connect_from_port_20=NO(修改配置)PORT 模式进行数据传输部使用 20 端口
pasv_enable=YES(自建配置)允许 PASV 模式进行数据传输
pasv_min_port=65341(自建配置)PASV 模式下数据传输所使用 port 范围下界
pasv_max_port=65351(自建配置)PASV 模式下数据传输所使用 port 范围上界

7 建立虚拟账户的配置文件:
在 user_config_dir 指定路径下,建立与虚拟帐号同名的配置文件并添加相应的配置字段

[root@red-hat-5 vsftpd]# mkdir /etc/vsftpd/vsftpd_login
[root@red-hat-5 vsftpd]# touch /etc/vsftpd/vsftpd_login/public
[root@red-hat-5 vsftpd]# touch /etc/vsftpd//vsftpd_login/personal

首先建立普通帐号 public 的配置文件
[root@red-hat-5 vsftpd_login]# echo guest_enable=yes >>public
[root@red-hat-5 vsftpd_login]# echo guest_username=ftp_public >>public
[root@red-hat-5 vsftpd_login]# echo anon_world_readable_only=no >>public
[root@red-hat-5 vsftpd_login]# echo anon_max_rate=50000 >>public
[root@red-hat-5 vsftpd_login]# cat public
guest_enable=yes  开启虚拟帐号登录
guest_username=ftp_public    设置虚拟用户 public 对应的系统帐号为 ftp_public
anon_world_readable_only=no  不允许匿名用户浏览器整个服务器的文件系统
anon_max_rate=50000    限定传输速率为 50KB/s

注意:
vsftpd 对于文件传输速度限制并不是绝对锁定在一个数值上哈,而是在 80%~120% 之间变化哈~ 比如设置 100KB/ s 则实际是速度在 80KB/s~120KB/ s 之间变化哈~

接着建立专用帐号的配置文件 personal
[root@red-hat-5 v:wqsftpd_login]# echo guest_enable=yes >> personal
[root@red-hat-5 vsftpd_login]# echo guest_username=ftp_personal >> personal
[root@red-hat-5 vsftpd_login]# echo anon_world_readable_only=no >> personal
[root@red-hat-5 vsftpd_login]# echo anon_mkdir_write_enable=yes >> personal
[root@red-hat-5 vsftpd_login]# echo anon_upload_enable=yes >> personal
[root@red-hat-5 vsftpd_login]# echo anon_max_rate=50000 >> personal
[root@red-hat-5 vsftpd_login]# cat personal
guest_enable=yes 开启虚拟帐号登录 
guest_username=ftp_ personal  设置虚拟用户对应的系统帐号为 ftp_personal
anon_other_write_enable=YES  允许匿名账号具有删除. 更名权限
anon_mkdir_write_enable=yes  允许创建文件夹
anon_upload_enable=yes        开启匿名帐号的上传功能
anon_world_readable_only=no  不允许匿名用户浏览整个服务器的文件系统
anon_max_rate=100000          限定传输速度为 100KB/s

#service vsftpd restart

关于把上传数据发布到普通虚拟用户家目录下提供下载!
[root@red-hat-5 ~]# cp /var/ftp/personal/* /var/ftp/public/

把上传数据发布到普通虚拟用户家目录下提供下载
[root@red-hat-5 ~]# chown -R ftp_public.ftp_public /var/ftp/public/

更改 public 目录的所有者和属组为 ftp_public,这样 public 用户才能下载 

 

玩转 vsftpd 服务器的四大高级配置:http://www.linuxidc.com/Linux/2013-09/90565.htm

vsFTPd 配置教程:http://www.linuxidc.com/Linux/2013-09/90562.htm

CentOS 7 安装配置 FTP 服务器  http://www.linuxidc.com/Linux/2014-11/109233.htm

Ubuntu 实用简单的 FTP 架设 http://www.linuxidc.com/Linux/2012-02/55346.htm

Ubuntu 上架设 FTP 服务器和 Apache 服务器 http://www.linuxidc.com/Linux/2011-04/35295.htm

Ubuntu 13.04 安装 LAMP\vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm

RHEL6 平台下 SeLinux 和 vsftpd 的匿名上传的简单案例 http://www.linuxidc.com/Linux/2013-04/82300.htm

Linux 系统 vsftpd 源码安装 http://www.linuxidc.com/Linux/2013-03/81475.htm

openSUSE 13.2/13.1 下安装配置 FTP 服务器 vsftpd  http://www.linuxidc.com/Linux/2014-12/110070.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-06/118443.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计4155字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7993233
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的 Nano Banana Pro?附赠邪修的用法 前言 大家好,我是星哥,今天来介绍谷歌的 ...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸 前言 作为天天跟架构图、拓扑图死磕的...