一起学起来

Mac OS X 10.11+ Rootless 介绍

2016-10-20  本文已影响310人  mtide

Rootless

Mac OS X 10.11+ (El Capitan) 以后,引入了 Rootless 安全机制,该机制限制了 root 用户的权限,有部分操作即使是 root 也无法执行。

该机制的详细介绍,请参考:
Wikipedia: System Integrity Protection
Apple: System Integrity Protection Guide

主要地限制有:

可能引起的问题和解决方案

sudo cp -f FILE /usr/bin/

# 报错: cp: /usr/bin/FILE: Operation not permitted

解决方案:关闭 rootless,见下文

sudo gem install posix-spawn -v '0.3.11'

# 报错:
Building native extensions.  This could take a while...
ERROR:  While executing gem ... (Errno::EPERM)
    Operation not permitted - /usr/bin/posix-spawn-benchmark

解决方案:尝试执行 /usr/local/bin 里命令,或将命令文件复制到 /usr/local/bin 后再执行,例如

sudo gem install -n /usr/local/bin GEM-NAME

关闭 rootless

如果遇到的问题难以解决,也可以关闭 rootless 功能,彻底解决引起的权限问题,但是关闭 rootless 将会严重降低系统安全性,必须尽快重新开启。

关闭的步骤如下:

  1. 重启 Mac 并按住 Command+R,进入恢复模式
  2. 打开终端 Terminal
  3. csrutil disable

开启的步骤:

  1. 重启 Mac 并按住 Command+R,进入恢复模式
  2. 打开终端 Terminal
  3. csrutil enable

在 mac 终端直接键入 csrutil 可查看该命令的使用说明。

上一篇 下一篇

猜你喜欢

热点阅读