linux – sudo -i和sudo su有什么区别 –

前端之家收集整理的这篇文章主要介绍了linux – sudo -i和sudo su有什么区别 –前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
命令sudo -i和sudo su有什么区别?

它们是一样的吗?

解决方法

它们可能在功能上提供接近相同的东西,但似乎’sudo -i’重量更轻,并在您的环境中保留一些方便的后退引用.

您可以通过查看’ps auxf’来查看额外的过程(f为您提供森林视图)

sudo -i产生这个进程树

jkrauska  4480  0.0  0.0  76828  1656 ?        S    23:38   0:00  |   \_ sshd: jkrauska@pts/0
jkrauska  4482  0.0  0.0  21008  3816 pts/0    Ss   23:38   0:00  |       \_ -bash
root      4675  0.6  0.0  19512  2260 pts/0    S+   23:42   0:00  |           \_ -bash

sudo su – 产生这个进程树

jkrauska  4480  0.0  0.0  76828  1656 ?        S    23:38   0:00  |   \_ sshd: jkrauska@pts/0
jkrauska  4482  0.0  0.0  21008  3816 pts/0    Ss   23:38   0:00  |       \_ -bash
root      4687  0.5  0.0  43256  1488 pts/0    S    23:42   0:00  |           \_ su -
root      4688  0.5  0.0  19508  2252 pts/0    S+   23:42   0:00  |               \_ -su

请注意,它们是从相同的bash进程pid,4482开始的,但是su – 似乎又产生了另一个步骤.)

您的第一个“sudo”已经将您的访问级别提升为root.在没有在sudo中指定用户名的情况下运行su会将当前用户更改为root两次.

另一种研究方法是使用strace -f运行这两个命令.

strace -f -o sudoi sudo -i

VS

strace -f -o sudosu sudo su -

如果你区分这两个阶段,你会看到更多的exeve正在为sudo su运行 – .

还有一件事.

sudo -i维护由SUDO设置的额外环境变量.

SUDO_USER=jkrauska
SUDO_UID=1000
SUDO_COMMAND=/bin/bash
SUDO_GID=1000

sudo su – 破坏那些变量.

猜你在找的Linux相关文章