当我通过 php 上传文件时,它会使用权限 644(-rw-r--r--)写入文件。
我使用 setgid 设置了 /var/www/html 文件夹,以便将上传的所有文件都设置为允许显式访问的组(FTP 等)。但是,644 权限不允许文件所属组写入,这是一个问题。
我如何配置 apache2,以便 /var/www/html 文件夹内由 www-data 创建的所有文件/目录都具有设置的权限 775 (-rwxrwxr-x)?
我在装有 Apache 2.2 的 DigitalOcean VM 上运行 Ubuntu 14.04。
答案1
Apacheumask
从其父进程(即启动 Apache 的进程)继承了它。这通常应该是脚本/etc/init.d/{apache,httpd}
。因此,您可以在该脚本中放置一个 umask 命令。
# echo "umask 002" >> /etc/init.d/httpd
进而:
# /etc/init.d/httpd restart
或者您也可以运行此命令:
# echo "umask 002" >> /etc/sysconfig/httpd
进而
# /etc/init.d/httpd restart
答案2
您可以使用 php 函数上传文件后更改权限chmod
。
http://php.net/manual/en/function.chmod.php