为确保umask设置生效,请使用简单的测试,不要为此使用任何其他Web应用程序。这些应用程序可能独立于Apache的umask设置更改权限。
简单的测试PHP脚本:
<?php
if ($fp = fopen(time() . '.txt', 'w')) {
fwrite($fp, 'This is a simple test.');
fclose($fp);
echo "done";
} else {
echo "error - cannot create file";
}
?>
请注意,用户www-data对您安装此简单测试文件的文件夹具有写访问权。
要运行新的umask,请检查Apache起始文件/etc/init.d/apache2中是否将使用文件/ etc / apache2 / envvars:
...
PIDFILE=$(. /etc/apache2/envvars && echo $APACHE_PID_FILE)
...
在/ etc / apache2 / envvars中设置umask:
...
# umask 002 to create files with 0664 and folders with 0775
umask 002
重新启动Apache:
service apache2 restart
检查差异:
#> ls -l *.txt
-rw-rw-r-- 1 www-data www-data 14 2012-05-01 15:56 1335880583.txt
-rw-r--r-- 1 www-data www-data 14 2012-05-01 15:55 1335880540.txt