linux – 为所有用户设置umask

前端之家收集整理的这篇文章主要介绍了linux – 为所有用户设置umask前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试将所有用户的默认umask设置为002,包括我的CentOS框上的root.

根据this和其他答案,这可以通过编辑/ etc / profile来实现.但是该文件顶部的评论说:

It’s NOT a good idea to change this file unless you know what you
are doing. It’s much better to create a custom.sh shell script in
/etc/profile.d/ to make custom changes to your environment,as this
will prevent the need for merging in future updates.

所以我继续创建了以下文件
/etc/profile.d/myapp.sh
单行:

umask 002

现在,当我创建一个以root身份登录文件时,该文件具有664权限,就像我希望的那样.但是我的Apache mod_wsgi应用程序创建的文件,或者用sudo创建的文件,仍默认为644权限……

$touch newfile(以root身份):
结果= 664(工程)

$sudo touch newfile:
结果= 644(不起作用)

Apache mod_wsgi app创建的文件
结果= 644(不起作用)

Python的RotatingFileHandler创建的文件
结果= 644(不起作用)

为什么会发生这种情况,如何在系统范围内确保664文件权限,无论创建文件的是什么?

解决方法

profile是shell的启动文件.在profile.d中设置umask 002可以为从登录shell启动其进程的所有用户设置它.

你的两个例子是不同的.对于Apache,您可以在启动http服务器的init.d脚本中设置umask.

对于使用sudo启动的进程,您可以在sudoers文件中使用umask选项.

原文链接:https://www.f2er.com/linux/396854.html

猜你在找的Linux相关文章