无法写入macOS中的/ tmp目录,无法更正权限:“不允许操作”


13

macOS El Capitan(10.11)无法安装任何软件更新或安装任何软件,因为/tmp/private/tmp文件夹似乎不可写。

运行此:

sudo /usr/libexec/repair_packages --repair --standard-pkgs --volume /

给我这个错误:

unable to set owner and group on "tmp" Error 1 Operation not permitted
unable to set permissions on "tmp" Error 1 Operation not permitted

有没有办法手动删除tmp文件夹并重新创建它们?当我尝试重命名或删除时,/tmp或者/private/tmp我一直不允许进行操作时。和文件夹sudo chmod 1777也以相同的方式失败/tmp/private/tmp

Disk Utility说磁盘运行良好,运行急救时未发现问题。

有什么方法可以将tmp位置重定向到另一个可写文件夹?


1
您是否首先禁用了SIP?从恢复;航站楼csrutil disable
Tetsujin

2
我也有同样的问题。遵循Tetsujin的建议,以恢复模式重新启动并运行csrutil disable。之后,我能够repair_packages成功执行并能够照常访问/ tmp。但是,回到恢复模式并执行后csrutil enable,我的系统也遇到了同样的问题。看来我可以访问/ tmp的唯一方法是禁用系统完整性保护。
安德鲁·弗克

4
我最终回到恢复模式并执行csrutil disable。重新启动后,我删除了tmp文件夹:sudo rm /tmp; sudo rm /private/tmp,创建了tmp文件夹sudo mkdir /private/tmp; sudo chown root:wheel /private/tmp; sudo chmod 1777 /private/tmp,创建了符号链接:sudo ln -s /private/tmp /tmp,然后repair_pacakges再次运行。返回到恢复模式并运行后csrutil enable,一切又恢复了!但是,/ private / tmp的权限曾经是drwxrwxrwt@,现在是drwxrwxrwt。我不确定是什么@,是否会给我带来麻烦。
安德鲁·弗克

Answers:


22
  1. 重新启动Mac进入恢复模式
  2. 打开顶部栏中的“实用工具”菜单>“打开终端”

    csrutil disable
    
  3. 重启

  4. 删除tmp文件夹

    sudo rm -i /tmp
    sudo rm -i /private/tmp
    
  5. 创建tmp文件夹

    sudo mkdir /private/tmp
    sudo chown root:wheel /private/tmp
    sudo chmod 1777 /private/tmp
    
  6. 创建符号链接

    sudo ln -s /private/tmp /tmp
    
  7. 运行repair_packages(您可能不需要这样做)

    sudo /usr/libexec/repair_packages --repair --standard-pkgs --volume /
    
  8. 重新启动回到恢复模式并运行

    csrutil enable
    
  9. 重启


向安德鲁·费克(Andrew Ferk)提出解决方案的道具;提取您的评论作为社区Wiki答案,以便更具可读性。


2
谢谢!!!我花了三天时间把头发拉出来。首先不知道权限是如何被搞砸的,但是有一天,我打开了Mac,看到了一系列警告,程序无法正常工作以及无法安装任何内容。这解决了这个问题。
johngeorgewright


1
因为我不想因为我只是从别人的评论而转换的答案而获得荣誉
截至

好吧,酷。顺便说一句,由于没有@Fiksdal,直到现在我才看到您的评论。
雷维塔夫(Revetahw)说恢复莫妮卡(Monica)

10.13:命令:在/ usr / libexec目录/ repair_packages:找不到命令
ДаниилПронин


0

我通过从Time Machine备份还原系统来解决此问题。但是评论中的其他建议也值得尝试。


0

如果您使用maxOS Mojave在终端(或iTerm)中收到此消息

不允许操作

原来,我需要将终端应用添加到Settings.app的“安全和隐私”>“全盘访问”
(我同时添加了terminal.appiTerm.app


-1

尝试在/private/tmp不运行的情况下创建和修改文件夹的权限csrutil disable。尝试删除失败后,启动后错误消息消失了,这对我来说很有用。


欢迎来到超级用户。请不要发布答案以确认另一个答案有效。该站点的“问答”格式为问题的解决方案保留了答案,每个答案都应提供另一个解决方案。指出答案有用的方法是在网站上花费一些时间,您将获得足够的特权来推荐您喜欢的答案。
fixer1234 '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.