肿瘤康复网,内容丰富有趣,生活中的好帮手!
肿瘤康复网 > FTP多用户权限 linux环境 一站式解决方案(基础篇)

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

时间:2021-04-20 00:44:00

相关推荐

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

文章目录

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

useradd yduseradd dx useradd lt useradd wr useradd jd useradd nb

3. 用户密码

密码统一为123456

passwd ydpasswd 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总用量 0drwxr-xr-x. 2 root root 6 9月 10 18:17 dxdrwxr-xr-x. 2 root root 6 9月 10 18:17 jddrwxr-xr-x. 2 root root 6 9月 10 18:17 ltdrwxr-xr-x. 2 root root 6 9月 10 18:17 wrdrwxr-xr-x. 2 root root 6 9月 10 18:17 yddrwxr-xr-x. 2 root root 6 9月 10 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/bashdx:x:1005:1005::/app/ftp/dx:/bin/bashlt:x:1006:1006::/app/ftp/lt:/bin/bashwr:x:1007:1007::/app/ftp/wr:/bin/bashjd:x:1008:1008::/app/ftp/jd:/bin/bashnb:x:1009:1009::/app/ftp:/bin/bash

执行修改组ID命令

usermod -g 50 ydusermod -g 50 dxusermod -g 50 ltusermod -g 50 wrusermod -g 50 jdusermod -g 50 nb

调整后

yd:x:1004:50::/app/ftp/yd:/bin/bashdx:x:1005:50::/app/ftp/dx:/bin/bashlt:x:1006:50::/app/ftp/lt:/bin/bashwr:x:1007:50::/app/ftp/wr:/bin/bashjd:x:1008:50::/app/ftp/jd:/bin/bashnb:x:1009:50::/app/ftp:/bin/bash

2.3. 用户添加到组

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

默认:

cat /etc/group

将用户添加到ftp组

usermod -G ftp ydusermod -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/ -Rchown 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 /appchown nb.ftp ftp/

调整后效果

3.5. 赋予权限

chmod 775 ftp/ -R

注:

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

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

打开权限限制属性

vim /etc/vsftpd/vsftpd.conf

把101行和103行注释打开

vim /etc/vsftpd/chroot_list# 把这些用户添加进去yddxltwrjdnb

注:以前的u01用户先忽略

4.2. 重新启动ftp

# 重新启动ftpsystemctl 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

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

如果觉得《FTP多用户权限 linux环境 一站式解决方案(基础篇)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。