sudo X 和以 root 身份运行 X 有什么区别?

Raf*_*ael 4 root sudo

我的问题是询问我想了解的特定观察结果。

我只是尝试在 R 中安装包 rJava 并且失败了,即使我按照手册的建议进行了安装:

sudo R CMD javareconf
Run Code Online (Sandbox Code Playgroud)

然后我遇到了这个评论

使用 sudo 和以 root 身份运行并不完全相同。– 乔恩 7

绝望的我尝试过:

sudo su
R CMD javareconf
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,我突然可以安装该软件包。


抱歉我的介绍很长,但我想给你一个背景,以防止像这里这样的答案。这个问题并不是专门针对所描述的观察——而是针对 Ubuntu 上的那些“事物”。

我的问题是:这怎么可能?sudo X 和以 root 身份运行 X 有什么区别?

JoK*_*KeR 7

这有点过于宽泛,无法解释它会以结论结尾,就像你链接到你的问题的链接一样,但我会尝试更完整的东西,也许它会给你一些答案。

sudo(“substitute user do”)允许系统管理员委派权限,赋予某些用户(或用户组)以root或其他用户身份运行某些(或全部)命令的能力,同时提供命令及其参数的审计跟踪。

Sudo是将su命令作为root. 不像su,它启动一个root允许所有进一步命令root访问的shell ,sudo而是将临时权限提升授予单个命令。通过root仅在需要时启用权限,sudo使用可降低调用命令中的拼写错误或错误破坏系统的可能性。Sudo也可用于以其他用户身份运行命令;此外,sudo记录所有命令和失败的访问尝试以进行安全审计。

更多详细信息Root Sudo可以在官方 Ubuntu 文档中找到