我们的 apache 以 www-data:psacln 的形式运行
如果此行运行;
<?php file_put_contents("./file.txt","");
然后 apache 创建这个文件时没有授予该组的写权限,
-rw-r--r-- 1 www-data psacln 9 2010-02-25 16:17 file.txt
我如何设置我们的 ubuntu/apache 以便在网站内创建文件/文件夹时默认授予组写入权限?
答案1
就像 DaveG 提到的那样,您可以使用它umask()
来更改进程创建的所有文件的默认权限。您当前的 umask 可能是 0022。如果将其设置为 0002,则您的文件对用户和组都将具有相同的权限。
您还可以使用这种方式单独修改您设置的文件的权限chmod()
,您只需运行chmod("./file.txt", 664)
,并且您的文件对于用户和组都是可读写的。
有关 php umask 的更多信息:http://php.net/manual/en/function.umask.php
有关 php chmod 的更多信息:php.net/manual/en/function.chmod.php
答案2
使用以下方式在 php 中设置 umaskumask()
称呼: