Or *_*r W 3 permissions file-permissions apache-2.2
我正在尝试user1
为www-data
(apache)和/home/user1/public_html/ 文件夹中的文件授予权限。
我被指示运行这些命令:
sudo chown -R www-data:user1 /home/user1/public_html/
sudo chmod g+s /home/user1/public_html/
Run Code Online (Sandbox Code Playgroud)
现在,www-data 确实有权编辑/删除/添加文件到 /home/user1/public_html/ 但 user1 不能编辑任何内容。
我该如何解决这个问题?
谢谢,
Mat*_*Ife 10
实现这一目标的最佳方法是使用posix ACL。标准的 unix 文件权限并没有真正削减它。你可以用一些杂乱无章的方法来做到这一点,但它不仅仅是杂乱无章的,基本上它不是一个直接的解决方案。
使用 ACL 可以简洁地解决这个问题。为此,您可以使用以下命令:
setfacl -R -m www-user:rwx /home/user1/public_html
setfacl -R -d -m www-user:rwx /home/user1/public_html
setfacl -R -m user1:rwx /home/user1/public_html
setfacl -R -d -m user1:rwx /home/user1/public_html
Run Code Online (Sandbox Code Playgroud)
该-d标志导致新的文件继承您在目录中设置的ACL。
有一些注意事项需要牢记。
这明智地解决了一个问题,并允许各种场景组合:
这是我解决此类问题的首选方法。这是一个简单、无中断和微不足道的变化。
Apache不需要到处写,为此你可以指定tmp、upload等。文件夹。因此,您可以将 public_dir 的权限设置为 apache 用户可读和可执行:
sudo chown user1:www-data /home/user1/public_html
sudo chmod 0750 /home/user1/public_html
Run Code Online (Sandbox Code Playgroud)
dir下的所有其他文件都public_html
可以在 user1 权限下,并且只能由“其他”(此处为 apache)读取。从安全角度来看这也更好。正如我所写,只有必要的文件/文件夹才可以由 apache 用户写入。
归档时间: |
|
查看次数: |
5077 次 |
最近记录: |