我在这里发现了类似的问题,但这些问题的答案并不能解决我的问题。
如果我做:
sudo chown <username> main.m
我收到操作不允许的错误。
以前错误的一般解决办法是:
sudo chflags nouchg main.m
清除锁定标志。但是,执行此操作后,我仍然无法更改文件。我还尝试过:
chflags noschg main.m
在单用户模式下没有任何运气-我收到操作不允许的错误。
如果有人有任何想法,我会感兴趣。
答案1
Mac 文件可以通过四种方式保护 三我所知道的不同方式:
- 标准 Unix 所有权和权限,例如用户/组/其他的 r/w/x,您可以使用 来查看
ls -l
并使用 来修复chown(1)
。chmod(1)
- 您使用 看到的文件标志(如
uchg
和 )并使用 进行修复。schg
ls -lO
chflags(1)
使用 可查看旧的 Finder 元数据“锁定位”没关系,GetFileInfo filename
。使用 还可查看 Finder 元数据的存在,但看不到其含义ls -l@
。使用 可修复此问题SetFile(1)
。uchg
现在这已经映射到标志上了。- 您看到的访问控制列表 (ACL)
ls -le
以及使用 ACL 相关参数进行修复chmod(1)
。
因此,让我们通过将所有这些标志组合到以下内容来查看您的文件的情况ls
:
ls -lO@e main.m
听起来你已经知道如何处理#1 和#2。
如果您看到 ACL(#4),您可以使用与 ACL 相关的参数来修复它chmod(1)
。
如果您仍然感到困惑,请使用我上面建议的组合命令的输出更新您的答案ls
,以便我们了解发生了什么。