现在如果我明白了我有两件事:
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/employee1
与local_root=/var/ftp_users/employee1
/etc/vsftpd_user_conf/employee2
与 ...local_root=/var/ftp_users/employee2
/etc/vsftpd_user_conf/employee3
local_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
文件夹可写。