我知道设置umask
为000
会导致潜在的安全问题。我不在乎。我只想知道如果我以 root 身份 ( sudo umask 000
) 或在/etc/init.d/rc
脚本中执行此操作是否会发生不良事件。所谓不良事件,是指破坏软件包或系统的重要部分。
答案1
sudo umask 0000
会失败,因为umask
不是程序。它是影响当前 shell 会话的 shell 内置命令。不需要sudo
或不允许使用 ,尽管sudo
命令(和其他用户切换)不会继承当前的umask
。要设置sudo
为使用某个umask
,另一个答案给出了解决方案(我对其进行了修改以0000
代替使用):
对于 sudo 权限,我执行
sudo visudo
并将该行添加Defaults umask = 0000
到末尾。
由于默认的 Ubuntuumask
是0002
(除了0022
)root
,将其设置为0000
将不再阻止应用程序在创建新文件时向文件所有者或组以外的所有人授予写入权限。然后应用程序在创建文件时不必向其他人授予写入权限,但现在它可以。
出于安全原因,不建议全局设置此项(也许可以改为~/.bashrc
),但当编写不良的应用程序在创建文件时没有正确设置权限时,除了安全性不佳之外,它不太可能导致其他问题。