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