当前位置:  开发笔记 > 编程语言 > 正文

设置Apache用户的umask

如何解决《设置Apache用户的umask》经验,为你挑选了3个好方法。

我正在设置一个LAMP服务器,并希望将Apache的umask设置设置为002,以便所有Apache创建的文件都设置了组写权限位(因此同一组的成员可以覆盖这些文件).

有谁知道如何做到这一点?我知道在Ubuntu上,您可以使用/ etc/apache2/envvars文件来配置umask,但服务器正在运行CentOS.

更新 此问题与我刚才提到的另一个问题有关(Linux用户和组用于LAMP服务器).如果愿意,请更新这个其他问题,以便在可以编辑apache用户创建的文件的服务器上拥有开发人员用户的最佳设置.



1> Patrick Fish..:

对于CentOS和其他Red Hat发行版,将umask设置添加到/ etc/sysconfig/httpd并重新启动apache.

[root ~]$ echo "umask 002" >> /etc/sysconfig/httpd
[root ~]$ service httpd restart

更多信息:Apache2 umask | MDLog:/系统管理员

对于Debian和Ubuntu系统,您可以进行类似的编辑/etc/apache2/envvars.


@ MattB.That是因为优雅实际上并没有杀死主apache进程.它告诉所有分叉的孩子完成他们正在做的事情(服务你的最后一个请求)然后DIE.使用新配置更改创建新子项.某些配置更改需要终止父级并重新启动,并且umask是其中一个更改.我希望这是有道理的.

2> 小智..:

这是Google搜索结果中"CentOS 7 apache umask"的第一个结果,所以我将分享我需要做些什么来使用CentOS 7.

使用CentOS 7时,echo "umask 002" >> /etc/sysconfig/httpd方法对我不起作用.

我通过创建一个文件夹覆盖了systemd启动文件,/etc/systemd/system/httpd.service.d并在那里创建了一个带有行的文件umask.conf:

[Service]
UMask=0007

启动,它对我有用.



3> Martin v. Lö..:

Apache umask从其父进程(即启动Apache的进程)继承它; 这通常应该是/etc/init.d/脚本.所以umask在该脚本中放置一个命令.


Patrick Fisher的答案提供了更好的建议,因为直接修改apache init脚本是危险的 - 所有更改可能会在下次更新时丢失.
推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有