我最近升级到了雪豹。我注意到有些MacPorts编写的文件安装时权限错误-它们的umask值为0077。我想我已经缩小了问题的范围:
- 该
port
命令通过调用sudo
。 - 我的
.bashrc
文件将umask指定为0077。 - 在OS X的较早版本(10.5及更低版本)上,sudo使用了根用户的umask (其值为0022);但是,现在它使用我的0077 umask。
反正有sudo
使用旧行为吗?现在,它是一种烦人,因为我必须使用sudo
运行像简单的命令port installed
,port outdated
等等。
(此MacPorts票证中对此问题进行了详细描述。)
编辑
我发现了umask
sudo 的选项,并在其中/etc/sudoers
添加了以下行:
Defaults umask=0022
然而,这并没有起到期望的,因为实际所用的umask sudo
是工会与此默认掩码用户掩码的。为了重写的行为sudo
的umask的,直接使用默认的(即不是工会的用户和默认sudo的面膜),可以添加以下内容:
Defaults umask_override