vsftpd 具有虚拟用户和独立目录配置

vsftpd 具有虚拟用户和独立目录配置

我遵循了很好的教程https://askubuntu.com/questions/575523/how-to-setup-virtual-users-for-vsftpd-with-access-to-a-specific-sub-directory

现在如果我明白了我有两件事:

1) 一个是唯一被调用的用户vsftpd充当 vsftpd 服务的专用用户

2) 是在以下情况下创建用户特定配置的能力/etc/vsftpd_user_conf/文件夹

所以我可以有一个/etc/vsftpd_user_conf/user1文件可能包含:

local_root=/var/www/website_name1/sub_folder1

A/etc/vsftpd_user_conf/user2与具体的

local_root=/var/www/website_name1/sub_folder2

等等..


通过此设置,我可以在其根目录中设置主文件夹或子文件夹,并通过分配或不分配 chmod vsftpd:nogroup 以及常见的 777、775 或 664 公共属性使它们可写。


但我想创建一个更复杂的设置。

我想创建一个文件夹:

/var/ftp_users/

/var/ftp_users/boss
/var/ftp_users/employee1
/var/ftp_users/employee2
/var/ftp_users/employee3
...

为了使它们可访问和可写,我必须

chmod vsftpd:nogroup /var/ftp_users/boss
chmod vsftpd:nogroup /var/ftp_users/employee1
chmod vsftpd:nogroup /var/ftp_users/employee2
...

并按如下方式设置其本地根:

/etc/vsftpd_user_conf/employee1local_root=/var/ftp_users/employee1
/etc/vsftpd_user_conf/employee2与 ...local_root=/var/ftp_users/employee2
/etc/vsftpd_user_conf/employee3local_root=/var/ftp_users/employee3

问题是BOSS要求我:

  • 能够读取每个人的文件夹,以便他可以看到其他用户在做什么。我的想法是把他的local_root=/var/ftp_users

  • 但是 - 我希望老板只能写入/修改/var/ftp_users/boss其他文件夹,而不是其他文件夹,创建新文件夹或删除他在其中找到的文件夹!

local_root=/var/ftp_users在这种设置中,用户 boss 拥有但其写访问权限仅限于,这怎么可能/var/ftp_users/boss

我还考虑过在里面手动创建符号链接

ln /var/ftp_users/employee1 /var/ftp_users/boss/employee1

chmod -h 0444 /var/ftp_users/boss/employee1

但这种方式不能正常工作。

我习惯使用 Windows 权限或 Apache、nginx 等中指定的指令,因此对 vsftpd 配置有点困惑。在正常情况下,我会设置/var/ftp_users/root 不可写且仅/var/ftp_users/boss文件夹可写。

相关内容