我最近升级到雪豹。我注意到一些由 MacPorts 编写的文件安装时权限错误——它们的 umask 为 0077。我想我已经缩小了问题的范围:
port命令通过调用sudo。.bashrc文件指定了 0077 的 umask。反正有没有sudo使用旧的行为?现在,它是一种烦人,因为我必须使用sudo运行像简单的命令port installed,port outdated等等。
(此问题在此MacPorts 票证中有更详细的描述。)
我发现了umasksudo的选项,并在其中/etc/sudoers添加了以下行:
Defaults umask=0022
Run Code Online (Sandbox Code Playgroud)
然而,这并没有起到期望的,因为实际所用的umasksudo是工会与此默认掩码用户掩码的。为了重写的行为sudo的umask的,直接使用默认的(即不是工会的用户和默认sudo的面膜),可以添加以下内容:
Defaults umask_override
Run Code Online (Sandbox Code Playgroud) 我有一个相当严格的 umask 设置 (0077)。这很好,除了我有一个目录,我希望在该目录中对在该目录下任何位置创建的所有文件进行更宽松的设置 (0002)。有没有办法在特定目录上设置 umask,以便在它下面创建的所有文件都继承相同的权限?