首页 > 解决方案 > vsftpd:多个 FTP 用户和一个主用户

问题描述

设想

  1. 多个 FTP 用户user1user2等可以分别使用 homedir /home/user1、/home/user2 进行 SSH 和 FTP。
  2. 有权访问所有其他 FTP 帐户的主FTP 用户。
  3. 用户master上传的文件可以由userX管理(查看、删除、修改等)
  4. userX上传的文件可以由用户master管理
  5. user1应该不能访问user2的文件

标签: vsftpd

解决方案


这可以通过以下方式实现:

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管理。
  • 用户masteruserX组的成员,因此userX上传的文件可以由用户master管理
  • g=rwx 对 homedir 的权限,因此用户master可以访问所有用户 homedir。

推荐阅读