我正在尝试使web服务器(Apache,lighttpd,…)创build的文件可以由ftp用户写入。 将apache添加到nobody组,反之亦然。 umask 002 for ftp正常工作。 但是,networking服务器似乎忽略了/etc/sysconfig/我的umask设置:
grep umask /etc/sysconfig/httpd umask 002
或/etc/init.d/ :
start() { echo -n $"Starting $prog: " umask 002 daemon $lighttpd -f $LIGHTTPD_CONF_PATH RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog return $RETVAL }
该文件仍然创build755权限:
-rwxr-xr-x 1 apache nobody 28243 Jul 28 09:49 ssvzone_997.js -rwxr-xr-x 1 apache nobody 26224 Jul 28 09:49 ssvzone_998.js -rwxr-xr-x 1 apache nobody 19686 Jul 28 09:49 ssvzone_999.js -rwxr-xr-x 1 lighttpd nobody 23949 Jul 29 15:50 ssvzone_999_1.js -rwxr-xr-x 1 lighttpd nobody 20668 Jul 29 15:50 ssvzone_999_2.js -rwxr-xr-x 1 lighttpd nobody 22294 Jul 29 15:50 ssvzone_999_3.js
那么,根源是什么?
PS:我看到了一些类似的问题,但没有一个能帮上忙。
Umask不设置位。 这可能是创build文件的应用程序不会要求设置组w位,或者显式地将文件自身修改为“安全”。
什么是一个简单的PHP脚本报告的umask?
<?php system ("umask"); ?>
在一个CentOS系统上,我必须把它的默认0022或者我设置的/etc/sysconfig/httpd
不知道为什么file_put_contents()函数创build具有755权限的文件,但@chmod 664做一个窍门。