问题:我将umask
我的用户设置为 0077。现在我使用sudo
而不是su
当我需要超级用户访问权限时,问题是每当我使用sudo
类似的东西执行软件安装时sudo pip3 install sympy
,所有安装的软件都会获得由0077,意味着任何用户都无法访问所有这些库!
问题:如何让所有 sudo 调用的掩码为 0022,而我的用户调用的掩码为 0022?
笔记:我确实添加了该行Defaults umask = 0022
,sudo visudo
但仍然不起作用。这就是所有要做的事情了吗?
我该如何设置我的umask
:我已将行umask 0077
添加到~/.bashrc
和~/.profile
。
答案1
这一点似乎被忽视了:
Defaults umask_override
它执行所要求的操作(请参阅sudoers 联机帮助页):
umask_override
如果设置,将按指定的方式sudo
设置而不进行修改。这使得可以指定一个umask
sudoers
更宽容umask
在 sudoers 中比用户自己的权限更高umask
,并且与历史行为相匹配。如果umask_override
未设置,sudo
将设置 umask 为用户的 umask 和 中指定的 umask 的并集sudoers
。此标志默认关闭。如果设置,sudo
即使没有 I/O 日志记录,也将在伪 pty 中运行命令。在 下运行的恶意程序sudo
可能会分叉一个后台进程,该进程在主程序执行完毕后保留在用户的终端设备上。使用此选项将使这种情况不可能发生。此标志默认关闭。