sudo命令和root直接执行的区别

来源:互联网 发布:赵丽颖为什么能红 知乎 编辑:程序博客网 时间:2024/05/24 06:25

sudo可以用用户的环境。

例如,假如我在用户pansz环境中为vim配好了一套很习惯的配置,直接用root的话,那么vim就使用root用户的环境了,我为pansz用户定制的屌炸天的插件都没有了,vim成了原始配置。而用sudo则可以保持用户的环境。

如果用切换账号登录的方式使用root跟普通用户,那么你势必需要为root跟自己的普通用户同步配置两套环境,所有的常用的软件的配置都需要两套,久而久之,你发现维护两套环境太累了,这样的同步不如直接用root方便。然后,就变成了直接用root裸奔了。因而切换用户的机制实际上鼓励用root裸奔。

但有了sudo之后,就可以只为用户配置一套环境。获得root权限时仍然使用用户环境。这样,允许用户一直保持普通用户环境。


同理,当一个主机有多个管理员时,每个人可能都不喜欢别人给root环境中指定的配置,可能导致root用户的配置文件被改来改去,直至发生系统管理员之间的恶性冲突流血事件(逃)。

有了sudo之后,每个人在root权限下都可以使用自己用户的环境配置,就可以只用定义自己用户的环境不修改root用户的配置文件,从而互相不影响了。


作者:pansz
链接:https://www.zhihu.com/question/51746286/answer/127353757
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。



sudo指令

功能: 以root的身分执行命令

语法: sudo 其他指令

用户: 被root加入『/etc/sudoers』文件中的用户

1.root的密码除了root本人知道外,不需被其他需要用到root权限用户知道,因为使用sudo时,要求输入的密码是『该位用户自己的密码』。

2.把所有可执行sudo指令的用户都规范在『/etc/sudoers』这个文件中,root可以很容易地掌控整个系统。

执行sudo su -成root的用户,和root用户的区别:

普通用户使用sudo 来执行只有root才能执行权限的命令,跟用root用户执行是不一样的,因为这时候他用的还是普通用户的环境变量。

用su -成root的用户还是有些环境变量是和root登陆是不一样的。另外,它们的uid也是不一样,只有euid是相同的。

PS: 修改root密码

请先用该建立的第一个用户登入,使用 sudo passwd root 即可修改 root 密码. ps: 若要输入密码,该密码就是执行 sudo 该用户的密码。


原创粉丝点击