我正在设置一个LAMP服务器,并希望将Apache的umask设置设置为002,以便所有Apache创建的文件都设置了组写权限位(因此同一组的成员可以覆盖这些文件).
有谁知道如何做到这一点?我知道在Ubuntu上,您可以使用/ etc/apache2/envvars文件来配置umask,但服务器正在运行CentOS.
更新 此问题与我刚才提到的另一个问题有关(Linux用户和组用于LAMP服务器).如果愿意,请更新这个其他问题,以便在可以编辑apache用户创建的文件的服务器上拥有开发人员用户的最佳设置.
Pat*_*her 113
对于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
.
小智 23
这是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
Run Code Online (Sandbox Code Playgroud)
启动,它对我有用.
Apache umask
从其父进程(即启动Apache的进程)继承它; 这通常应该是/etc/init.d/
脚本.所以umask
在该脚本中放置一个命令.
添加umask
命令对/etc/apache2/envvars
我来说似乎不是一个好主意,不仅因为文件名(仅提及变量),而且还基于该文件中找到的注释:
# Since there is no sane way to get the parsed apache2 config in scripts, some
# settings are defined via environment variables and then used in apache2ctl,
# /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.
Run Code Online (Sandbox Code Playgroud)
这表明/etc/apache2/envvars
可能是由执行 Apache 相关任务的任何脚本获取的,并且更改这些(事先未知)脚本的 umask 是相当危险的。
另一方面,如果更改 Apache 的 umask 目标是放宽由 所创建的文件的权限mod_dav
,您应该考虑到DAV 存储库被认为是 Apache 私有的,并且让其他进程访问这些文件可能会导致各种问题(包括腐败)。
归档时间: |
|
查看次数: |
77533 次 |
最近记录: |