Ben*_*erd 2 permissions apache2
我希望能够只允许用户对某个文件夹的读/写权限,而不是任何父文件夹
所以例如
mywebsite
只能访问 /var/www/html/mywebsite
并不是 /var/www/html/otherwebsite
我试过了:
chown -R www-data /var/www/html
chown -R mywebsite:www-data /var/www/html/mywebsite
chmod -R 770 /var/www/html
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,登录时mywesbite我没有对 mywebsite 文件夹或任何其他文件夹的读写权限
我究竟做错了什么?
给用户mywebsite里面的读/写权限/var/www/html/mywebsite:
chown -R mywebsite /var/www/html/mywebsite
Run Code Online (Sandbox Code Playgroud)
那应该足够了。您不应该更改组所有者或权限,因为用户所有者应该已经被授予读/写权限。
如果您想授予该文件夹内的组读/写权限,例如 group my-group,您需要:
chgrp -R my-group /var/www/html/mywebsite
chmod -R g+w /var/www/html/mywebsite
Run Code Online (Sandbox Code Playgroud)
重要笔记
不要将文件的所有权(用户或组)设置/var/www给www-data用户。以www-data用户身份运行 Web 服务器的意义在于,这是一个非特权帐户,无法修改任何文件。如果您将某些文件设置为由该用户拥有,您就是在否定该安全措施。如果您需要您的网络服务器能够修改某些文件,请只为这些特定文件设置所有权,并且要非常小心,不要让它们直接执行(例如通过 PHP)。一般来说,永远不要设置它以便www-data可以修改文件。
在进行递归时chmod,使用字母通常比使用数字更好,例如chmod -R g+w something而不是使用chmod -R 770 something。这是因为前者只能修改您想要的权限,而保留其他权限。默认情况下,目录和文件将具有不同的“执行”权限 - 文件将其关闭(例如 644)和目录打开(例如 755),因为此权限对目录具有不同的含义。如果您这样做,chmod -R 770 something则常规文件将打开执行权限。一般来说,只修改您需要的内容是个好主意。
另一件需要注意的事情是,这770将删除全局可读权限,这将阻止 Web 服务器(以非特权用户身份运行)能够读取它。在这种情况下,它也完全阻止了用户mywebsite能够看到该/var/www/html/mywebsite目录,因为您已将父目录设置/var/www/html为 770。
| 归档时间: |
|
| 查看次数: |
1262 次 |
| 最近记录: |