修复 Mac 用户文件权限,而不是系统权限

修复 Mac 用户文件权限,而不是系统权限

通常这些文件从网络传输时会获得错误的权限,即使我从网络复制它们也是如此,但主要是通过“文件共享”进行的。所以,请不要在这里谈论磁盘工具修复。

但不管文件权限错误的原因是什么,我知道有两种不好的解决方法。一种是 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... 中,使用磁盘工具修复权限(通常的做法)并不能修复用户文件权限。

按照以下步骤使用隐藏功能可以修复权限,效果更好、更彻底,并且通常可以修复奇怪的问题:

  1. 重新启动,听到提示音后立即按住 Command+R 以在恢复模式下访问“OS X 修复分区”实用程序。
  2. 现在在“修复实用程序”屏幕上,单击菜单栏中的“实用程序”项。[[如果使用磁盘加密,请退出 Mac OSX 实用程序;在“启动磁盘”提示符下使用密码解锁。然后运行终端应用程序。]]
  3. 向下滚动找到终端应用程序并双击它以启动它。
  4. 当终端窗口打开时,小心地在此窗口中输入resetpassword,然后按回车键。
  5. “密码重置实用程序”窗口启动,(但重置密码不是重点,因此不会这样做)。
  6. 单击左上角的 Mac 硬盘图标,然后在下拉菜单中选择遇到问题的用户帐户。
  7. 然后在“密码重置实用程序”窗口底部找到“重置主目录权限和 ACL”按钮 —> 单击它。

    几分钟后,重置过程完成,然后退出每个打开的程序。然后单击“重新启动”。这解决了与用户、主文件夹项目等相关的许多问题。

通过使用原始的 OS X 安装 DVD,此“重置主目录权限和 ACL”技术适用于以前的 OS X 版本。

相关内容