vsftpd - vsftpd:多个 FTP 用户和一个主用户
问题描述
设想
- 多个 FTP 用户user1、user2等可以分别使用 homedir /home/user1、/home/user2 进行 SSH 和 FTP。
- 有权访问所有其他 FTP 帐户的主FTP 用户。
- 用户master上传的文件可以由userX管理(查看、删除、修改等)
- userX上传的文件可以由用户master管理
- user1应该不能访问user2的文件
解决方案
这可以通过以下方式实现:
useradd master
passwd master
chmod 700 /home/master
useradd -G master user1
passwd user1
usermod -a -G user1 master
chmod 770 /home/user1
useradd -G master user2
passwd user2
usermod -a -G user2 master
chmod 770 /home/user2
vsftpd.conf 需要进行如下调整:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=007
anon_upload_enable=YES
anon_mkdir_write_enable=YES
解释
- userX是master组的成员,所以用户master上传的文件可以由userX管理。
- 用户master是userX组的成员,因此userX上传的文件可以由用户master管理
- g=rwx 对 homedir 的权限,因此用户master可以访问所有用户 homedir。
推荐阅读
- javascript - 在 Angular 7.x 中接收格式化的“multipart/form-data”响应
- python - 将 Python mock 的 autospec 用于对象方法的正确方法是什么?
- spring-boot - 如何在 Spring Batch 的单个步骤单元测试期间模拟自定义 JdbcCursorItemReader?
- math - prolog中的算术运算
- python - 在另一个文件(Python)中导入模块显示空白结果,同时在 cmd 中正常工作
- c++ - 有没有办法检查 LLVM 中的指令
- java - 如何使用 JPA 管理多个实体?
- sql - 为什么将工作查询限制为 WHERE ROWNUM <=10 会导致 EXPLAIN PLAN “ORA-12899: value too large for column”出错?
- javascript - Chrome 扩展:在 URL 更新时调用后台
- c# - 带有 MySQL 的 Windows 窗体 C# 实体框架 6