root用户无法删除文件
root user can't delete file
我使用最新的 Mojave 在 mac 中启用了 root 用户。我试图用它删除一个文件夹,但由于某种原因,我收到错误 "Permission denied"。我以为 root 可以在 unix 系统上做任何事情?
sh-3.2# whoami
root
sh-3.2# pwd
/opt/local/var/macports/home/Library
sh-3.2# ls -lhart
total 0
drwxr-xr-x 3 root admin 96B Sep 24 2016 ..
drwxr-xr-x 3 root admin 96B Sep 24 2016 .
drwxr-xr-x 2 root admin 64B Oct 13 18:54 Preferences
sh-3.2# rm -rf Preferences/
rm: Preferences/: Operation not permitted
sh-3.2# whoami
root
sh-3.2#
似乎 SIP 保护了整个 /opt/local/var/macports/home
文件夹,正如上面假设的那样。但是,无需停用 SIP 即可删除文件夹。
This answer about MacPorts folder removal 表示删除此文件夹是 "home" 的 "macports" 用户将允许 root 删除该文件夹,因此
sudo /usr/bin/dscl . -delete "/Users/macports"
sudo /usr/bin/dscl . -delete "/Groups/macports"
应该允许 sudo rm -rf /opt/local/var/macports/home/Preferences
按需要工作。
如果您不想删除 "macports" 用户,请按照以下步骤使用 Recovery Mode 中的终端删除这些文件夹:
- 关闭您的 Mac
- 启动您的 Mac 并在启动时立即按 CMD + R 以在恢复模式下启动(您可以在出现 Apple 徽标时松开按键)
- 打开终端应用程序
- cd /Volumes/Macintosh\ HD/opt(您的硬盘名称可能与 "Macintosh HD" 不同)
- rm -Rf 本地
我使用最新的 Mojave 在 mac 中启用了 root 用户。我试图用它删除一个文件夹,但由于某种原因,我收到错误 "Permission denied"。我以为 root 可以在 unix 系统上做任何事情?
sh-3.2# whoami
root
sh-3.2# pwd
/opt/local/var/macports/home/Library
sh-3.2# ls -lhart
total 0
drwxr-xr-x 3 root admin 96B Sep 24 2016 ..
drwxr-xr-x 3 root admin 96B Sep 24 2016 .
drwxr-xr-x 2 root admin 64B Oct 13 18:54 Preferences
sh-3.2# rm -rf Preferences/
rm: Preferences/: Operation not permitted
sh-3.2# whoami
root
sh-3.2#
似乎 SIP 保护了整个 /opt/local/var/macports/home
文件夹,正如上面假设的那样。但是,无需停用 SIP 即可删除文件夹。
This answer about MacPorts folder removal 表示删除此文件夹是 "home" 的 "macports" 用户将允许 root 删除该文件夹,因此
sudo /usr/bin/dscl . -delete "/Users/macports"
sudo /usr/bin/dscl . -delete "/Groups/macports"
应该允许 sudo rm -rf /opt/local/var/macports/home/Preferences
按需要工作。
如果您不想删除 "macports" 用户,请按照以下步骤使用 Recovery Mode 中的终端删除这些文件夹:
- 关闭您的 Mac
- 启动您的 Mac 并在启动时立即按 CMD + R 以在恢复模式下启动(您可以在出现 Apple 徽标时松开按键)
- 打开终端应用程序
- cd /Volumes/Macintosh\ HD/opt(您的硬盘名称可能与 "Macintosh HD" 不同)
- rm -Rf 本地