我更改了本地主机文件/var/www/
及其子文件夹的所有权,并为其授予了权限777。但是,每当我在其中添加新文件夹时,新文件夹都不会自动获得该权限。如何永久授予文件夹777的权限,以便在我添加新文件夹或文件时获得相同的权限?
find . -type d -exec chmod 777 {} +
将所有目录更改为777。请记住,必须以root用户身份登录才能获得更好的结果,并确保您位于该文件夹中。
我更改了本地主机文件/var/www/
及其子文件夹的所有权,并为其授予了权限777。但是,每当我在其中添加新文件夹时,新文件夹都不会自动获得该权限。如何永久授予文件夹777的权限,以便在我添加新文件夹或文件时获得相同的权限?
find . -type d -exec chmod 777 {} +
将所有目录更改为777。请记住,必须以root用户身份登录才能获得更好的结果,并确保您位于该文件夹中。
Answers:
正如其他人已经提到的那样,授予777权限/var/www
确实不是一个好主意,尤其是在生产环境中。
更好的解决方案是仅向需要修改文件的用户授予写权限。做到这一点的方法之一是:
创建一个新组
将需要修改数据的用户添加/var/www
到该组中
递归地更改该/var/www
组的所有权
设置umask
为/var/www
所有新创建的文件都归我们创建的组所有。
另一个选择是再次使用ACL,仅向需要它们的用户授予写权限。
通常,Web服务器或其他网络服务或系统用户帐户不应对Web服务器提供的文件具有写权限,因为这可能会导致任意代码执行。
我认为您想拥有/var/www
修改文件和目录的写权限。我认为最好的解决方案是安装apache2-mpm-itk
并在虚拟主机配置文件中添加/etc/apache2/sites-available/default
:
<IfModule mpm_itk_module>
AssignUserId your-username your-group
</IfModule>
并以chown your-username\: /var/www -Rv
这种方式运行,该虚拟主机的apache将与您的UID / GID一起运行,并且您将能够编辑文件。即使由PHP创建的文件也将具有您的UID / GID