简单的权限问题。
我希望 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/ 以外的任何地方。