FTP多用户权限 linux环境 一站式解决方案(基础篇) 青旅半醒 2022-09-11 01:27 139阅读 0赞 > 需求背景:第三方厂商中国移动、电信、联通、微软、京东与我司内部进行接口交易,采用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. 用户与目录约定 ###### <table> <thead> <tr> <th>厂商</th> <th>用户</th> <th>目录</th> </tr> </thead> <tbody> <tr> <td>移动</td> <td>yd</td> <td>/app/ftp/yd</td> </tr> <tr> <td>电信</td> <td>dx</td> <td>/app/ftp/dx</td> </tr> <tr> <td>联通</td> <td>lt</td> <td>/app/ftp/lt</td> </tr> <tr> <td>微软</td> <td>wr</td> <td>/app/ftp/wr</td> </tr> <tr> <td>京东</td> <td>jd</td> <td>/app/ftp/jd</td> </tr> <tr> <td>内部系统</td> <td>jd</td> <td>/app/ftp</td> </tr> </tbody> </table> ###### 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 9月 10 18:17 dx drwxr-xr-x. 2 root root 6 9月 10 18:17 jd drwxr-xr-x. 2 root root 6 9月 10 18:17 lt drwxr-xr-x. 2 root root 6 9月 10 18:17 wr drwxr-xr-x. 2 root root 6 9月 10 18:17 yd drwxr-xr-x. 2 root root 6 9月 10 18:17 nb [root@localhost ftp]# ###### 5. 用户家目录绑定 ###### vim /etc/passwd 原配置: ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16] 调整后配置: ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 1] ##### 二、用户、组、权限 ##### ###### 2.1. 查看ftp组ID ###### 将yd、dx、lt、wr、jd、nb6个用户组ID都修改为ftp组ID # 查看现ftp组ID cat /etc/group ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 2] ###### 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 ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 3] 执行修改组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 ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 4] ###### 2.3. 用户添加到组 ###### 将yd、dx、lt、wr、jd、nb6个用户添加到ftp组 默认: cat /etc/group ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 5] 将用户添加到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 调整后 ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 6] ##### 三、用户、组、权限 ##### ###### 3.1. 调整用户家目录组的权限(非内部系统) ###### 将yd、dx、lt、wr、jd、nb6个用户的家目录的**用户从属权限**调整为对应的用户,对用用户的家目录的用户组从属权限调整为ftp用户组 默认 cd /app/ftp/ ll ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 7] 先调整`yd、dx、lt、wr、jd`5个用户的操作 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/`目录下执行上面的命令 调整后效果 ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 8] ###### 3.2. 调整用户家目录组的权限(内部系统) ###### 然后,对nb用户的操作如下,进入到/app目录执行以下命令 默认 ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 9] cd /app chown nb.ftp ftp/ 调整后效果 ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 10] ###### 3.5. 赋予权限 ###### chmod 775 ftp/ -R 注: ##### 四、ftp配置与启动 ##### ###### 4.1. 限制用户活动范围 ###### 简言之,就给是每个用户限制本身用户的目录可见范围 vim /etc/vsftpd/chroot_list # 把这些用户添加进去 yd dx lt wr jd nb ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 11] 注:以前的`u01用户`先忽略 ###### 4.2. 重新启动ftp ###### # 重新启动ftp systemctl start vsftpd.service ###### 4.3. 监控ftp运行状态 ###### # 监控ftp运行状态 systemctl status vsftpd.service ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 12] ##### 五、测试验证 ##### ###### 5.1. 预期效果 ###### `yd、dx、lt、wr、jd`5个用户上传的文件,只对自己可见 `yd、dx、lt、wr、jd`5个用户上传的文件,他们之间相互是不可见 `yd、dx、lt、wr、jd`5个用户上传的文件,nb用户均可见并可以进行下载解析 nb用户上传的文件,`yd、dx、lt、wr、jd`5个用户不可见 ###### 5.2. 准备测试文件 ###### ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 13] ###### 5.3. 用户上传文件 ###### ip:192.168.159.102 用户名:yd、dx、lt、wr、jd、nb 密码:123456 端口:21 * yd用户上传文件 ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 14] * dx用户上传文件 ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 15] * lt用户上传文件 ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 16] * wr用户上传文件 ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 17] * jd用户上传文件 ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 18] * nb用户上传文件 ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 19] ###### 5.4. 效果分析 ###### 从面截图可以看出: `yd、dx、lt、wr、jd`5个用户上传的文件,只对自己可见 `yd、dx、lt、wr、jd`5个用户上传的文件,他们之间相互是不可见 ###### 5.5. nb用户文件下载 ###### 登录nb用户下载`yd、dx、lt、wr、jd`5个用户上传的文件 执行前: ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 20] * `nb`用户下载`yd用户`上传的文件 ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 21] * `nb`用户下载`dx用户`上传的文件 ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 22] * `nb`用户下载`lt用户`上传的文件 ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 23] * `nb`用户下载`wr用户`上传的文件 ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 24] * `nb`用户下载`jd用户`上传的文件 ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 25] ###### 5.6. 效果分析 ###### `yd、dx、lt、wr、jd`5个用户上传的文件,nb用户均可见并可以进行下载解析 nb用户上传的文件,`yd、dx、lt、wr、jd`5个用户不可见(因为这5个用户活动的可见目录范围限制到了用户本身的家目录下面,ftp目录属于他们家目录的上一级目录) ###### 5.7. 异常解决 ###### 如果遇到以下异常请移步 [ftp 553 Could not create file][] ![在这里插入图片描述][watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 26] 现在的效果是这样的,内部系统可以看到 [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16]: /images/20220829/cc678cd3743d4269a32509bfa1879033.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 1]: /images/20220829/ea55c1dfcd0746c388ec4d5398739fa6.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 2]: /images/20220829/65fb9b4b0aff43f78fe35dbe2643de59.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 3]: /images/20220829/535b9136e54b4aef9fddcdbbb99ef21e.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 4]: /images/20220829/881c67ea3e04490cbe6c8cca95adf124.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 5]: /images/20220829/f073e1ef0d9248859d56760560d9fc3c.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 6]: /images/20220829/7a84559640554454aba4b07e72501e98.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 7]: /images/20220829/58fae823c6554ed2a133486a4c40cf2c.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 8]: /images/20220829/8da2712eada64b5692aaba5dc6fd2899.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 9]: /images/20220829/72a5d5f35a114410a6ec771a3b5f6ace.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 10]: /images/20220829/2734519d1995451da466960d39bf0592.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 11]: /images/20220829/5953aa39b2134bfa8173531ac1b1ad6a.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 12]: /images/20220829/264868e898a04c9ebae1d847ab4810f0.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 13]: /images/20220829/0246a4b80e1c4663b69c6c0769596f96.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 14]: /images/20220829/23e567ec39ba4468908c5f02a67dd58e.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 15]: /images/20220829/d58eeeabb6fd4a1bbce9b260e9565a04.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 16]: /images/20220829/bdd1c98472e6419aab4f40c0439b4eb1.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 17]: /images/20220829/ce39b281ad2b4a9abb500c5dc374452c.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 18]: /images/20220829/76c25baf50714cc4b7c9fb2a85a3c2b4.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 19]: /images/20220829/d1643b845e254483ada97430c46cf0cb.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 20]: /images/20220829/0596635b19374b9fb3b5da8398dd0869.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 21]: /images/20220829/c35b210dbf5d4f599bc1df21dbaf02ca.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 22]: /images/20220829/773b4477e5b3465fb5a9176865157ee5.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 23]: /images/20220829/a76926f0d6c446b5a3e5fc6722b12f2d.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 24]: /images/20220829/159e254ad1524a57aa51326e817d5a0e.png [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 25]: /images/20220829/db181fd6c9004e088e9926b586ebfade.png [ftp 553 Could not create file]: https://blog.csdn.net/weixin_40816738/article/details/105136880 [watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBAZ2JsZnk_size_20_color_FFFFFF_t_70_g_se_x_16 26]: /images/20220829/339e72b06fb64b98be3a31f3ff851ff1.png
还没有评论,来说两句吧...