在OSX El Capitan中失去了对sudo的许可

时间:2016-03-28 14:43:17

标签: macos sudo chmod osx-elcapitan

我是使用OSX(使用El Capitan 10.11.3)的新手,在尝试使用sudo更改文件的权限时,我意外地损坏了它。现在,每当我尝试使用sudo在全球范围内安装任何内容时,我都会收到以下错误消息。

sudo: unable to stat /etc/sudoers: Permission denied
sudo: no valid sudoers sources found, quitting

有什么办法可以解决吗?

我甚至无法查看/ etc文件夹

  

bash:cd:/ etc:Permission denied

当我检查/ etc文件夹的权限时,它们如下

lrwxr-xr-x@  1 root  wheel   etc -> private/etc

2 个答案:

答案 0 :(得分:13)

我有同样的问题,在我的情况下,根文件夹的权限被破坏了。人们忽略的是 var sut : MyAppViewController! override func setUp() { super.setUp() // get a reference to storyboard and the correct // viewcontroller inside it. Remember to add // storyboardID in this case "MyappVC" let StoryBoard = UIStoryboard.init(name: "Main", bundle: nil) sut = StoryBoard.instantiateViewControllerWithIdentifier("Myapp VC")as! CalculatorViewController //trigger viewDidLoad() _ = sut.view 实际上也是一个真实的,正常的目录,就像它拥有所有权和权限的每个目录一样。所有权应为/,权限应为root:wheel755)。

恢复两者的最简单方法是启动rwxr-xr-x,然后键入并运行该脚本:

Script Editor

系统会提示您输入amdin密码,然后do shell script "/usr/sbin/chown root:wheel /" with administrator privileges do shell script "/bin/chmod 755 /" with administrator privileges chown进行救援。之后chmod再次运作。

答案 1 :(得分:6)

Disable System Integrity Protection (rootless)

  1. 重新启动Mac并在听到启动响铃后同时按住Command + R键,这将启动OS X进入恢复模式
  2. 当出现“OS X Utilities”屏幕时,请按下屏幕顶部的“Utilities”菜单,然后选择“Terminal”
  3. 在终端中输入以下命令,然后点击return:

    csrutil disable;重新启动

  4. 您会看到一条消息,指出已禁用系统完整性保护,并且Mac需要重新启动才能使更改生效,然后Mac会自动重启,只需让它正常启动