目录中的Linux权限

时间:2014-04-20 01:38:26

标签: linux apache webserver centos

我在我的服务器上安装了Apache,看起来一切都很好。问题是每次我创建一个文件夹/文件时它没有777权限,我需要使用chmod来创建我创建的每个文件夹/文件以分配777权限。如何创建将作为新文件/文件夹的默认权限的权限规则?

2 个答案:

答案 0 :(得分:0)

简短的回答是,即使可以,也不能 。在0777作为模式的文件系统上有任何文件是一个非常糟糕的主意。

稍微长一点的答案是Apache进程控制它创建新文件的模式,作为open(2)的第三个参数或使用fopen(3)。在后一种情况下,默认情况下模式为0666。传入的任何模式都会被进程的 umask 值进一步修改。如果进程具有合理的umask(例如022),则使用fopen打开文件的结果将是其模式设置为0666 & ~022 = 0644的文件。我想如果进程是使用open创建一个0777的文件,并且进程umask设置为0,那么它创建的文件将0777为{{1}}结果模式。

答案 1 :(得分:0)

虽然我同意777不是一个好主意,但答案是umask:

umask 000

我推荐以下内容至少所以世界上没有人(好的,可以访问该机器)可以写在那里:

umask 002

哦,这些不会被目录继承。使用ACL代替获取继承。 ACL工具因操作系统而异。尝试" setfacl"或" chacl"。