删除 /usr/bin/emacs - 不允许操作

Mat*_*ues 10 permissions file-permissions binary-files macos

当我偶然发现/usr/bin/emacs,/usr/bin/emacsclient/usr/bin/emacs-undumped.

angrybacon@sandman ~/ $ ll /usr/bin/emacs*
-r-xr-xr-x 1 root wheel 26929904 Dec  3 07:35 /usr/bin/emacs
-rwxr-xr-x 1 root wheel  3201184 Dec  3 07:36 /usr/bin/emacs-undumped
-rwxr-xr-x 1 root wheel    36928 Dec  3 07:36 /usr/bin/emacsclient
Run Code Online (Sandbox Code Playgroud)

我试图删除那些二进制文件但没有成功。

angrybacon@sandman ~/ $ sudo rm -f /usr/bin/emacs*
rm: /usr/bin/emacs: Operation not permitted
rm: /usr/bin/emacs-undumped: Operation not permitted
rm: /usr/bin/emacsclient: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

我已经尝试过 GNUrm和删除schg标志,但仍然没有运气。

另外,那些附带默认 Mac 设置的吗?

同样的问题,与/usr/share/emacs//usr/share/info/emacs*

小智 11

这是 OS X 中新的“系统完整性”功能。即使是 root,您也不能做所有事情。好消息是……你可以禁用它。

  1. 重新启动进入恢复模式(按住 command + r 键启动。
  2. 打开终端(实用程序-> 终端)
  3. 在终端中运行以下命令:

    csrutil disable; reboot
    
    Run Code Online (Sandbox Code Playgroud)

按回车键,您的 Mac 将重新启动,您就可以开始使用了。

  • 似乎相当过分......除了重新启动和恢复模式之外,真的没有办法做到这一点吗?emacs 是如何获得神级地位的? (3认同)