小编Ach*_*eas的帖子

如何告诉 sudo 使用 0022 的 umask 写入文件?

我最近升级到雪豹。我注意到一些由 MacPorts 编写的文件安装时权限错误——它们的 umask 为 0077。我想我已经缩小了问题的范围:

  1. port命令通过调用sudo
  2. 我的.bashrc文件指定了 0077 的 umask。
  3. 在旧版本的 OS X(10.5 及更低版本)上,sudo 使用root用户的 umask (0022);但是,现在它使用我的umask 0077。

反正有没有sudo使用旧的行为?现在,它是一种烦人,因为我必须使用sudo运行像简单的命令port installedport 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)

sudo macports osx-snow-leopard permissions macos

12
推荐指数
2
解决办法
1万
查看次数

标签 统计

macos ×1

macports ×1

osx-snow-leopard ×1

permissions ×1

sudo ×1