IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> FTP多用户权限 linux环境 一站式解决方案(基础篇) -> 正文阅读

[系统运维]FTP多用户权限 linux环境 一站式解决方案(基础篇)

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

一、用户与目录
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组ID
 cat /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/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
在这里插入图片描述

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

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-11 19:13:10  更:2021-09-11 19:15:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 14:58:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码