我是使用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
答案 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:wheel
(755
)。
恢复两者的最简单方法是启动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)
在终端中输入以下命令,然后点击return:
csrutil disable;重新启动
您会看到一条消息,指出已禁用系统完整性保护,并且Mac需要重新启动才能使更改生效,然后Mac会自动重启,只需让它正常启动