允许 www 用户访问我的主目录的子文件夹

允许 www 用户访问我的主目录的子文件夹

简单的权限问题。

我希望 www 用户对我的主文件夹中的子文件夹具有读写权限。显然,我也希望能够使用它!

我知道我可以执行:

sudo chown -R www:www /Users/myusername/subfolder

但我担心这意味着 www 拥有它,而不是我。我该如何实现这一点?

答案1

在该目录树上设置访问控制列表,授予www访问和修改该树中的文件和目录的权限。您还需要确保www可以遍历目录到指定的目录subfolder

chmod +a 'user:www allow search /Users/myusername'
chmod -R +a 'user:www allow delete,list,search,add_file,add_subdirectory,read,write' /Users/myusername/subfolder

查看chmod(1)请参阅手册页以了解更多信息。您可能希望调整访问控制列表以提供不同的权限。

答案2

仅将组更改为www,并授予组写权限,我的意思是:

sudo chgrp -R www /Users/myusername/subfolder
sudo chmod -R g+w /Users/myusername/subfolder

答案3

正如其他人所说,有几种方法。你担心所有权是正确的,你可能不想要那样。你最好采用小组方法,

chgrp -R www /Users/myusername/subfolder
find /Users/myusername/subfolder -type d | xargs chmod g+rwxs     
find /Users/myusername/subfolder -type f | xargs chmod g+rw 

setuid 位用于强制组在其下创建的任何内容上为 www。请记住,由于 UNIX 进行搜索的方式,www 组也需要在 /Users/myusername 上进行 rx

我质疑写入权限。通常不建议让它拥有写入权限。如果这仅是内部的,那没问题,但如果您的网络服务器受到攻击,正常的安全措施是让它无法写入 /tmp/ 以外的任何地方。

相关内容