美文网首页
sudo命令和root直接执行的区别

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

作者: 可可西里的星星 | 来源:发表于2019-07-05 09:50 被阅读0次

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

    sudo可以用用户的环境。

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

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

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

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

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

    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 该用户的密码。

    相关文章

      网友评论

          本文标题:sudo命令和root直接执行的区别

          本文链接:https://www.haomeiwen.com/subject/rafshctx.html