FTP多用户权限 linux环境 一站式解决方案(基础篇)

需求背景:第三方厂商中国移动、电信、联通、微软、京东与我司内部进行接口交易,采用ftp协议,外部厂商负责上传文件,内部系统负责下载各厂商上传的文件。

文章目录

          • 一、用户与目录
            • 1. 用户与目录约定
            • 2. 用户创建
            • 3. 用户密码
            • 4. 创建用户家目录(非默认)
            • 5. 用户家目录绑定
          • 二、用户、组、权限
            • 2.1. 查看ftp组ID
            • 2.2. 修改ftp组ID
            • 2.3. 用户添加到组
          • 三、用户、组、权限
            • 3.1. 调整用户家目录组的权限(非内部系统)
            • 3.2. 调整用户家目录组的权限(内部系统)
            • 3.5. 赋予权限
          • 四、ftp配置与启动
            • 4.1. 限制用户活动范围
            • 4.2. 重新启动ftp
            • 4.3. 监控ftp运行状态
          • 五、测试验证
            • 5.1. 预期效果
            • 5.2. 准备测试文件
            • 5.3. 用户上传文件
            • 5.4. 效果分析
            • 5.5. nb用户文件下载
            • 5.6. 效果分析
            • 5.7. 异常解决

一、用户与目录
1. 用户与目录约定
厂商用户目录
移动yd/app/ftp/yd
电信dx/app/ftp/dx
联通lt/app/ftp/lt
微软wr/app/ftp/wr
京东jd/app/ftp/jd
内部系统jd/app/ftp
2. 用户创建
useradd yd
useradd dx  
useradd lt  
useradd wr 
useradd jd  
useradd nb
3. 用户密码

密码统一为123456

passwd yd
passwd dx  
passwd lt  
passwd wr 
passwd jd  
passwd nb
4. 创建用户家目录(非默认)
mkdir /app/ftp/yd /app/ftp/dx /app/ftp/lt /app/ftp/wr /app/ftp/jd /app/ftp/nb -p  

操作记录:

[root@localhost ~]# mkdir /app/ftp/yd /app/ftp/dx /app/ftp/lt /app/ftp/wr /app/ftp/jd /app/ftp/nb -p 
[root@localhost ~]# cd /app/ftp/
[root@localhost ftp]# ll
总用量 0
drwxr-xr-x. 2 root root 6 910 18:17 dx
drwxr-xr-x. 2 root root 6 910 18:17 jd
drwxr-xr-x. 2 root root 6 910 18:17 lt
drwxr-xr-x. 2 root root 6 910 18:17 wr
drwxr-xr-x. 2 root root 6 910 18:17 yd
drwxr-xr-x. 2 root root 6 910 18:17 nb
[root@localhost ftp]# 
5. 用户家目录绑定
vim /etc/passwd

原配置:
在这里插入图片描述

调整后配置:

在这里插入图片描述

二、用户、组、权限
2.1. 查看ftp组ID

将yd、dx、lt、wr、jd、nb6个用户组ID都修改为ftp组ID

# 查看现ftp组IDcat /etc/group

在这里插入图片描述

2.2. 修改ftp组ID

默认

yd:x:1004:1004::/app/ftp/yd:/bin/bash
dx:x:1005:1005::/app/ftp/dx:/bin/bash
lt:x:1006:1006::/app/ftp/lt:/bin/bash
wr:x:1007:1007::/app/ftp/wr:/bin/bash
jd:x:1008:1008::/app/ftp/jd:/bin/bash
nb:x:1009:1009::/app/ftp:/bin/bash

在这里插入图片描述

执行修改组ID命令

usermod -g 50 yd
usermod -g 50 dx
usermod -g 50 lt
usermod -g 50 wr
usermod -g 50 jd
usermod -g 50 nb

调整后

yd:x:1004:50::/app/ftp/yd:/bin/bash
dx:x:1005:50::/app/ftp/dx:/bin/bash
lt:x:1006:50::/app/ftp/lt:/bin/bash
wr:x:1007:50::/app/ftp/wr:/bin/bash
jd:x:1008:50::/app/ftp/jd:/bin/bash
nb:x:1009:50::/app/ftp:/bin/bash

在这里插入图片描述

2.3. 用户添加到组

将yd、dx、lt、wr、jd、nb6个用户添加到ftp组
默认:

cat /etc/group

在这里插入图片描述
将用户添加到ftp组

usermod -G ftp yd
usermod -G ftp dx  
usermod -G ftp lt  
usermod -G ftp wr 
usermod -G ftp jd 
usermod -G ftp nb 

调整后
在这里插入图片描述

三、用户、组、权限
3.1. 调整用户家目录组的权限(非内部系统)

将yd、dx、lt、wr、jd、nb6个用户的家目录的用户从属权限调整为对应的用户,对用用户的家目录的用户组从属权限调整为ftp用户组
默认

cd /app/ftp/
ll

在这里插入图片描述
先调整yd、dx、lt、wr、jd5个用户的操作

chown yd.ftp yd/ -R
chown dx.ftp dx/ -R  
chown lt.ftp lt/ -R  
chown wr.ftp wr/ -R 
chown jd.ftp jd/ -R 

注意:在/app/ftp/目录下执行上面的命令

调整后效果
在这里插入图片描述

3.2. 调整用户家目录组的权限(内部系统)

然后,对nb用户的操作如下,进入到/app目录执行以下命令
默认
在这里插入图片描述

cd /app
chown nb.ftp ftp/

调整后效果
在这里插入图片描述

3.5. 赋予权限
chmod 775 ftp/ -R

注:

四、ftp配置与启动
4.1. 限制用户活动范围

简言之,就给是每个用户限制本身用户的目录可见范围

  • 打开权限限制属性
vim /etc/vsftpd/vsftpd.conf

把101行和103行注释打开
在这里插入图片描述

vim /etc/vsftpd/chroot_list# 把这些用户添加进去
yd
dx
lt
wr
jd
nb

在这里插入图片描述
注:以前的u01用户先忽略

4.2. 重新启动ftp
# 重新启动ftp
systemctl start vsftpd.service
4.3. 监控ftp运行状态
# 监控ftp运行状态
systemctl status vsftpd.service

在这里插入图片描述

五、测试验证
5.1. 预期效果

yd、dx、lt、wr、jd5个用户上传的文件,只对自己可见
yd、dx、lt、wr、jd5个用户上传的文件,他们之间相互是不可见
yd、dx、lt、wr、jd5个用户上传的文件,nb用户均可见并可以进行下载解析
nb用户上传的文件,yd、dx、lt、wr、jd5个用户不可见

5.2. 准备测试文件

在这里插入图片描述

5.3. 用户上传文件
ip:192.168.159.102
用户名:yd、dx、lt、wr、jd、nb
密码:123456
端口:21
  • yd用户上传文件
    在这里插入图片描述

  • dx用户上传文件
    在这里插入图片描述

  • lt用户上传文件
    在这里插入图片描述

  • wr用户上传文件
    在这里插入图片描述

  • jd用户上传文件
    在这里插入图片描述

  • nb用户上传文件
    在这里插入图片描述

5.4. 效果分析

从面截图可以看出:
yd、dx、lt、wr、jd5个用户上传的文件,只对自己可见
yd、dx、lt、wr、jd5个用户上传的文件,他们之间相互是不可见

5.5. nb用户文件下载

登录nb用户下载yd、dx、lt、wr、jd5个用户上传的文件

执行前:
在这里插入图片描述

  • nb用户下载yd用户上传的文件
    在这里插入图片描述

  • nb用户下载dx用户上传的文件
    在这里插入图片描述

  • nb用户下载lt用户上传的文件
    在这里插入图片描述

  • nb用户下载wr用户上传的文件
    在这里插入图片描述

  • nb用户下载jd用户上传的文件
    在这里插入图片描述

5.6. 效果分析

yd、dx、lt、wr、jd5个用户上传的文件,nb用户均可见并可以进行下载解析
nb用户上传的文件,yd、dx、lt、wr、jd5个用户不可见(因为这5个用户活动的可见目录范围限制到了用户本身的家目录下面,ftp目录属于他们家目录的上一级目录)

5.7. 异常解决

如果遇到以下异常请移步
ftp 553 Could not create file
在这里插入图片描述

现在的效果是这样的,内部系统可以看到

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/517349.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gateway集成nacos、loadbalancer实现自定义负载均衡器,带源码解析(cloud版本:2021.0.3|boot版本:2.7.4)[场景1:灰度发布(金丝雀发布)]

🎨领域:Java后端开发🔥收录专栏: 系统设计与实战 🐒个人主页:BreezAm 💖Gitee:https://gitee.com/BreezAm ✨个人标签:【后端】【大数据】【前端】【运维】 文章目录前言…

高德服务单元化方案和架构实践

导读:本文主要介绍了高德在服务单元化建设方面的一些实践经验,服务单元化建设面临很多共性问题,如请求路由、单元封闭、数据同步,有的有成熟方案可以借鉴和使用,但不同公司的业务不尽相同,要尽可能的结合业…

免费直播:1小时带你体验Python车牌识别实战

Python基础学会了,实战又是爬虫?太枯燥?别无聊,CSDN学院邀请章秀淞老师开设技术直播课:1小时带你体验车牌识别实战。让你从众多车中,能用Python技术找到夏树上的那辆叔叔的奔驰车牌(玩笑&#x…

IDEA 断点调试高级玩法 |debug高手必看!

文章目录条件表达式//条件表达式public static void main(String[] args) {for (int i 0; i < 10; i) {System.out.println(i);}} }需求1&#xff1a; 当i2时&#xff0c;断点停顿 添加断点&#xff0c;鼠标右击添加自定义条件即可 需求2&#xff1a; 当i偶数时&#xff…

听说了吗?阿里双11作战室竟1根网线都没有

双11不光是购物狂欢节&#xff0c;更是对技术的一次“大考”&#xff0c;对于阿里巴巴企业内部运营的基础保障技术而言&#xff0c;亦是如此。 回溯双11历史&#xff0c;这背后也经历过“小米加步枪”的阶段&#xff1a;作战室从随处是网线&#xff0c;交换机放地上的“一地狼…

如何给U盘设置一张妖娆又骚气的图标

夫陶公清风千古&#xff0c;余又何人&#xff0c;敢称庶几 &#x1f4a1;介绍 设置完就这样&#xff0c;看起来有些巴适&#xff0c;其实没啥用&#xff01;&#xff01; &#x1f3a8; 一、准备工作 百度上找一张妖娆的图片将图片转换成图标文件&#xff08;.ico格式&#…

最佳实践 | 数据库迁云解决方案选型 流程全解析

Oracle是非常强大的综合数据库&#xff0c;但同时也存在一些劣势&#xff0c;比如由于采用集中式架构&#xff0c;无法很好地实现横向扩展&#xff0c;并且其稳定性依赖于硬件。出于架构升级、降低成本和云化等需求&#xff0c;越来越多的企业需要“去Oracle”。 日前&#xff…

Centos7.x 在线安装Docker和离线安装 Docker

文章目录一、在线安装二、联网下载软件2.1. 下载rpm2.2. 安装 docker2.3.测试验证一、在线安装 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyunsystemctl enable docker systemctl s…

没错!Python杀死了Excel!

月前&#xff0c;日本最大的证券公司之一野村证券首席数字官马修汉普森&#xff0c;在Quant Conference上发表讲话&#xff1a;“用Excel的人越来越少&#xff0c;大家都在码Python代码。”甚至直接说&#xff1a;“Python在数据分析领域正在超越Excel&#xff01;”作为一门胶…

给 K8s API “做减法”:阿里巴巴云原生应用管理的挑战和实践

早在 2011 年&#xff0c;阿里巴巴内部便开始了应用容器化&#xff0c;当时最开始是基于 LXC 技术构建容器&#xff0c;然后逐渐切换到 Docker&#xff0c;自研了大规模编排调度系统。到了 2018 年&#xff0c;我们团队依托 K8s 体系开始推进“轻量级容器化”&#xff0c;同时投…

VMware 快照

文章目录1. 拍摄快照2. 将此虚拟机恢复到快照3. 管理此虚拟机的快照1. 拍摄快照 2. 将此虚拟机恢复到快照 3. 管理此虚拟机的快照

基于OOS批量修改资源标签值

场景 当资源上有个标签键: 部门&#xff0c;标签值&#xff1a;零售&#xff0c;由于部门资源整合要把标签&#xff08;键: 部门&#xff0c;值&#xff1a;零售&#xff09;修改为标签&#xff08;键: 部门&#xff0c;值&#xff1a;新零售&#xff09;&#xff0c;如何快速…

首度公开!OceanBase存储系统架构的演进历程及工程实践

随着用户数据量的不断增长&#xff0c;基于传统共享存储的纵向扩展能力渐渐变得力不从心&#xff0c;分布式存储成为应对用户海量数据的标配。 作为一位架构师&#xff0c;在设计系统的分布式存储架构时&#xff0c;需要关注哪些方面呢&#xff1f;或者我们换句话说&#xff0c…

Java“拍了拍”你,面试其实没那么难...

后疫情时代&#xff0c;连程序员这个多金的职业也遭受到了一定程度的打击。从各大招聘网站和多次面试经历中&#xff0c;相信大家已经意识到&#xff0c;面试官对程序员技能体系和项目经验考核似乎更严苛了。你在面试中常常为什么苦恼呢&#xff1f;简历撰写&#xff1f;数据算…

双 11 模块 79.34% 的代码是怎样智能生成的?

导读&#xff1a;作为今年阿里经济体前端委员会的四大技术方向之一&#xff0c;前端智能化方向一被提及&#xff0c;就不免有人好奇&#xff1a;前端结合 AI 能做些什么&#xff0c;怎么做&#xff0c;未来会不会对前端产生很大的冲击等等。本篇文章将围绕这些问题&#xff0c;…

在 xfire中使用 GZip来 压缩 传输量

在XFire1.2以后支持SOAP消息的GZip压缩传输&#xff0c;在合适的地方启动GZip压缩可以减少网络传输的数据量&#xff0c;加快速度。 文章目录1. jar下载地址2. 服务端3.客户端1. jar下载地址 https://sourceforge.net/projects/pjl-comp-filter/ 或者直接点击下载最新版本&am…

从零开始入门 | Kubernetes 中的服务发现与负载均衡

一、需求来源 为什么需要服务发现 在 K8s 集群里面会通过 pod 去部署应用&#xff0c;与传统的应用部署不同&#xff0c;传统应用部署在给定的机器上面去部署&#xff0c;我们知道怎么去调用别的机器的 IP 地址。但是在 K8s 集群里面应用是通过 pod 去部署的&#xff0c; 而 …

浅谈分布式存储中的网络通信

作者 | 火尉子责编 | Carol封图 | CSDN 下载自视觉中国在各行各业数字化转型深入的当下&#xff0c;数据呈爆炸式增长。面对海量数据的存储需求&#xff0c;分布式存储显然在架构上有着天然优势&#xff0c;但在这波数据洪流之中也面临着性能上的全新挑战。由于分布式存储的工作…

我们和全球的朋友一起回家

昨天上午9点30分&#xff0c;阿里巴巴集团&#xff08;09988.HK&#xff09;正式在港交所挂牌交易&#xff0c;成为首个同时在美股和港股两地上市的中国互联网公司。 这次&#xff0c;港交所的“C位”站了一排普通人——阿里巴巴从四大洲8个国家请来敲锣的客户代表。他们是全球…

为什么你的高效交付,却没有好的业务成果?

作者| 彭鑫(公亮) 出品|阿里巴巴新零售淘系技术部 11月中旬&#xff0c;作者在 TOP 100 案例和人人都是产品经理的两次大会上分别进行了两场关于价值交付的分享&#xff0c;结合分享后的反馈焦点&#xff0c;立足业务整体交付的价值最大化&#xff0c;特产此文。 持续需求交付…