sudo chown 失败,操作不允许

sudo chown 失败,操作不允许

我在这里发现了类似的问题,但这些问题的答案并不能解决我的问题。

如果我做:

sudo chown <username> main.m

我收到操作不允许的错误。

以前错误的一般解决办法是:

sudo chflags nouchg main.m

清除锁定标志。但是,执行此操作后,我仍然无法更改文件。我还尝试过:

chflags noschg main.m

在单用户模式下没有任何运气-我收到操作不允许的错误。

如果有人有任何想法,我会感兴趣。

答案1

Mac 文件可以通过四种方式保护 我所知道的不同方式:

  1. 标准 Unix 所有权和权限,例如用户/组/其他的 r/w/x,您可以使用 来查看ls -l并使用 来修复chown(1)chmod(1)
  2. 您使用 看到的文件标志(如uchg和 )并使用 进行修复。schgls -lOchflags(1)
  3. 使用 可查看旧的 Finder 元数据“锁定位” GetFileInfo filename。使用 还可查看 Finder 元数据的存在,但看不到其含义ls -l@。使用 可修复此问题SetFile(1) 没关系,uchg现在这已经映射到标志上了。
  4. 您看到的访问控制列表 (ACL)ls -le以及使用 ACL 相关参数进行修复chmod(1)

因此,让我们通过将所有这些标志组合到以下内容来查看您的文件的情况ls

ls -lO@e main.m

听起来你已经知道如何处理#1 和#2。

如果您看到 ACL(#4),您可以使用与 ACL 相关的参数来修复它chmod(1)

如果您仍然感到困惑,请使用我上面建议的组合命令的输出更新您的答案ls,以便我们了解发生了什么。

相关内容