在启用 root 用户的情况下尝试在 osx10.9.5 中查看 var/root 时权限被拒绝

在启用 root 用户的情况下尝试在 osx10.9.5 中查看 var/root 时权限被拒绝

如何访问 osx 10.9.5 (Mavricks) 中的根目录。尽管启用了 root 用户并且处于管理员帐户中,但我在终端下看到红色的“无访问权限”徽标和“权限被拒绝”。尝试了 Sudo ls var/root,但它只是要求输入密码,什么也不做。

mgp:var mgp$ ls
agentx          folders         netboot         spool           tmptmpdbUuZwC       tmptmpdbmW0Yg
at          jabberd         networkd        tmp         tmptmpdbUuZwC-journal   tmptmpdbmW0Yg-journal
audit           lib         root            tmptmpdb5e8iN       tmptmpdbdMcpS       vm
backups         log         rpc         tmptmpdb5e8iN-journal   tmptmpdbdMcpS-journal   webmin
db          mail            run         tmptmpdbOG3yt       tmptmpdbfseF0       yp
empty           msgs            rwho            tmptmpdbOG3yt-journal   tmptmpdbfseF0-journal
mgp:var mgp$ cd root
-bash: cd: root: Permission denied
mgp:var mgp$ 

我知道 SIP 是在 El Capitain 中实现的,那么是什么阻碍了我使用旧版本呢?

有任何想法吗?

答案1

我认为你混淆了管理员和 root 权限。以管理员身份运行,你可以执行一些标准用户无法执行的操作,但你没有 root 权限。你可以使用以下sudo命令运行命令以 root 身份,但您自己不是 root 身份,仍然受正常文件权限的约束(包括不能读取 /var/root)。

“启用” root 权限根本不会改变这一点。它的作用是允许您直接以 root 权限登录。在登录屏幕上,您将看到一个“其他”图标;如果您选择该图标,然后输入名称“root”和您为 root 帐户分配的密码,那么您实际上将以 root 权限登录。不要这样做。当您以 root 权限登录时,你所做的一切绕过了大多数常规保护,因此很容易彻底搞砸一切。以管理员身份运行会更安全,并且可以使用诸如sudo以 root 身份运行特定操作之类的功能。

关于使用sudo:您需要以管理员身份使用它,并且它会要求您输入密码(管理员帐户,而不是根帐户),除非您最近使用过它(这是为了确保它确实是您)。sudo ls /var/root应该可以工作,尽管根主目录可能大部分是空的。sudo cd /var/root不是工作,因为cd作为子进程运行并且不会影响你的shell。

要成为 root 用户,您可以做的一件事是使用sudo -s以 root 用户身份打开新 shell。执行此操作后,您可以以 root 用户身份运行一系列命令(包括cd进入 /var/root 等)。这有点危险,但不如实际以 root 用户身份登录那么糟糕。

相关内容