Yar*_*rin 3 linux fedora centos file-permissions umask
我正在尝试将所有用户的默认 umask 设置为 002,包括我的 CentOS 机器上的 root。
根据这个和其他答案,这可以通过编辑/etc/profile. 然而,该文件顶部的评论说:
除非您知道自己在做什么,否则更改此文件不是一个好主意。最好在 /etc/profile.d/ 中创建 custom.sh shell 脚本以对您的环境进行自定义更改,因为这将防止在将来的更新中需要合并。
所以我继续创建以下文件:
/etc/profile.d/myapp.sh
与单行:
umask 002
Run Code Online (Sandbox Code Playgroud)
现在,当我以 root 身份创建一个文件时,该文件天生就有 664 权限,正如我所希望的那样。但是由我的 Apache mod_wsgi 应用程序创建的文件,或使用 sudo 创建的文件,仍然默认为 644 权限......
$ touch newfile(作为根):
结果 = 664(作品)
$ sudo touch newfile:
结果 = 644(不起作用)
Apache mod_wsgi 应用程序创建的文件:
结果 = 644(不起作用)
Python 的 RotatingFileHandler 创建的文件:
结果 = 644(不起作用)
为什么会发生这种情况,以及如何确保系统范围内的 664 文件权限,无论创建文件的内容是什么?
profile是shell的启动文件。设置umask 002inprofile.d为从登录 shell 启动进程的所有用户设置它。
你的两个例子性质不同。对于 Apache,您可以在init.d启动 http 服务器的脚本中设置 umask 。
对于以sudo您开始的进程,您可以使用umasksudoers 文件中的选项。
| 归档时间: |
|
| 查看次数: |
11689 次 |
| 最近记录: |