通常这些文件从网络传输时会获得错误的权限,即使我从网络复制它们也是如此,但主要是通过“文件共享”进行的。所以,请不要在这里谈论磁盘工具修复。
但不管文件权限错误的原因是什么,我知道有两种不好的解决方法。一种是 CMD+I,另一种是chown
/ chmod
。命令行虽然不全是坏的,但也不实用。
有时我只需要修复 1 个文件,有时则需要修复多个文件。我说的“修复”是指644对于文件,755文件夹和当前用户:组对他们所有人来说。
有没有应用程序/脚本/自动程序在那里做那件事?
答案1
这是给你的脚本。我还没有测试过,所以我将把这个答案设置为社区 wiki,这样其他人就可以修复我的错误和不当之处。
/bin/bash #!/bin/bash # 描述:像 Cawas 喜欢的那样修复文件权限。 # TFILES 是目标文件数组。 TFILES=(“$@”) # TUSER 是您希望文件归属于的目标用户 TUSER=$(id -u) # TGROUP 是您想要在文件上设置的目标组 TGROUP=$(id-g) 复制代码 # 将所有内容更改为用户:组: sudo chown -R ${TUSER}:${TGROUP} “${TFILES[@]}” # 将文件的权限设置为 644,将目录的权限设置为 755 sudo chmod -R u=rwX,go=rX "${TFILES[@]}"
答案2
通过隐藏功能修复 Lion、ML 等权限
在 Lion、ML、Mavericks... 中,使用磁盘工具修复权限(通常的做法)并不能修复用户文件权限。
按照以下步骤使用隐藏功能可以修复权限,效果更好、更彻底,并且通常可以修复奇怪的问题:
- 重新启动,听到提示音后立即按住 Command+R 以在恢复模式下访问“OS X 修复分区”实用程序。
- 现在在“修复实用程序”屏幕上,单击菜单栏中的“实用程序”项。[[如果使用磁盘加密,请退出 Mac OSX 实用程序;在“启动磁盘”提示符下使用密码解锁。然后运行终端应用程序。]]
- 向下滚动找到终端应用程序并双击它以启动它。
- 当终端窗口打开时,小心地在此窗口中输入resetpassword,然后按回车键。
- “密码重置实用程序”窗口启动,(但重置密码不是重点,因此不会这样做)。
- 单击左上角的 Mac 硬盘图标,然后在下拉菜单中选择遇到问题的用户帐户。
然后在“密码重置实用程序”窗口底部找到“重置主目录权限和 ACL”按钮 —> 单击它。
几分钟后,重置过程完成,然后退出每个打开的程序。然后单击“重新启动”。这解决了与用户、主文件夹项目等相关的许多问题。
通过使用原始的 OS X 安装 DVD,此“重置主目录权限和 ACL”技术适用于以前的 OS X 版本。