/ var / www的默认权限


36

我试图打开一个文件,然后用PHP在/var/www文件夹中写入它,但是它没有用,所以我做了

sudo chmod 777 /var/www

现在我想将权限设置为/var/www默认值。
默认权限是/var/www什么?


我不是serverfault的成员,所以无法评论或认可答案。但是这篇文章真的很钉钉:serverfault.com/questions/357108/…–
Donato

尝试检查Wiki页面内的文档:Web内容的文件和目录所有权和权限。
huckbit

Answers:


29

该文件夹的权限为:

chmod 755 /var/www/

文件夹中的文件为:

chmod 644 /var/www/file

43

/var/www本身的默认权限是一个非常标准的权限:owner root:root和mod 755

至于其中的任何内容 /var/www,这是罕见的目录之一,您可以在其中自行决定要放入的内容以及其中应具有的所有权限。但是最有意义的是:

  • 多数文件或文件将可由最要写入其的用户或组写入。您可以将它们设置为您的用户帐户所有。或为您的开发人员设置自定义组。或者,如果文件很少被修改,而您想要良好的安全性,则可以root:root在很少被修改的情况下使用sudo。

  • 大多数文件都不是可写的。因此,644对于文件和755目录而言是适当的(或者664775如果要授予组写访问权限)。

  • 这是建议设置任何的它是由Web服务器可写,即www-data,除了任何特定文件的网页脚本要能写。如果是这样,最好将这些文件的用户或组设置www-data为使其可全局写入。请注意,无论何时www-data用户可以在Web根目录中写入任何文件,无论是通过在这些文件上设置用户或组,还是使其在世界范围内均可写入,都存在潜在的安全问题。世界可写的只是两者中最糟糕的。


2
在这里被认为是最结论性的答案
克里斯,克里斯,

2
现在,这是一个很好的答案。:)
Banago

为了改善答案,请考虑添加命令以设置适当的权限
亚伯拉罕·穆尔西亚诺·

是否有一个递归函数可以将var / www中的所有文件夹更改为755,将文件更改为644?
马修·塞米克

没错:stackoverflow.com/questions/18817744/...(第二个答案比接受一个更优雅IMO)
thomasrutter

9

确保该组是“ / var / www”上的www-data。

sudo chgrp www-data /var/www

使它可写

sudo chmod 775 /var/www

设置子文件夹的组ID

sudo chmod g+s /var/www

将您的用户名添加到群组

sudo useradd -G www-data [USERNAME]
OR
usermod -a -G www-data [USERNAME]

赋予自己所有权

sudo chown [USERNAME] /var/www/

9
不是 / var / www的默认权限,因此从安全角度考虑,使整个Web根目录都可被www-data写入是一个非常糟糕的主意。仅当Web脚本需要对特定文件进行写访问时才执行此操作,即使如此,也仅对那些特定文件(而不是对整个Web根目录)进行写访问。OP并没有说他需要这样做,因此,这根本不应该是一个建议。
thomasrutter 2014年

3
同样,将自己添加到www-data组并以这种方式对待该组也是一个非常糟糕的主意。您在哪里读过的书?这是特别糟糕的建议,几乎是恶意的。需要授予组访问权限时,请创建自己的组:不要重复使用供守护程序内部使用的非特权组。
thomasrutter 2014年

1
@neon_overload您有什么建议
aWebDeveloper 2014年

1
确实,您会推荐什么@neon_overload?
Banago 2015年

1
@Banago personnaly,我推荐+1 :)
kamil 2015年

-2
sudo adduser $USER www-data
sudo chown root:root /var/www


sudo chown -R $USER:www-data /var/www/*
sudo chmod -R 755 /var/www

4
根据内容的不同,在-R此处使用该标志可能有害。由于OP没有使用该-R标志,因此我们不建议您使用它来更正它们创建的错误权限。该-R标志很少有帮助!
赞纳
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.