sudo与su(原创翻译)

Original:http://fosswire.com/2008/02/03/sudo-vs-su/

Original written by Jacob

可能已经见过两个命令一个。Ubuntu用户sudo更加熟悉一点与此同时SUSE,Fedora和Debian用户更加常用su命令到底两个命令区别什么

两个命令允许得到root权限两者区别在于如何获得这个权限

su

su译者switch user缩写地方看作是substitute user缩写用于其他用户身份打开一个shell或者登录界面命令任何参数运行,su命令假设成为root运行命令提示输入密码输入密码切换用户密码例如如果成为root终端运行su需要输入root用户密码如果运行su bill需要输入bill密码

一个密码输入就像被su用户登录一样一个的shell出现运行任何命令认为来自被su用户

sudo

一个Ubuntu系统直接运行suroot做法得不到任何结果因为默认状态下root用户没有一个可用密码因此不能输入一个密码获得权限这种情况下sudo用武之地。sudo命令允许其他用户身份运行一条命令通常是root用户

其中主要不同就是需要输入密码自己帐户密码不是其他用户允许一个系统多个管理员不用共享一个密码运行sudo -s一个root权限的shell打开运行su效果一样

Combining the Two

绝大多数情况,su任何系统存在即使不能直接使用。sudo与之不同通常存在于Debian或者衍生发行版因为如此我们可以一个Ubuntu系统伎俩

sudo su #与sudo -s效果相同

以上例子sudo命令获得root权限su命令在root用户权限运行这样su命令需要输入密码译者这里意思运行sudo su命令输入密码不是su命令需要的root密码而是sudo命令需要当前用户密码可以作为一个sudo -s替代

例子

sudo su bill #与sudo -s -u bill效果相同

命令用户bill身份获得一个shell再次一下这里需要输入自己密码

sudo和su使用还有很多技巧剩下你自己发现

如果你喜欢这篇日志的话,欢迎订阅我的RSS Feed!
本文来源于一阁Blog。版权所有,转载请确保已阅读该页面

4 Responses to “sudo与su(原创翻译)”


  1. 1 ruisin

    我还是没搞懂……没看你的文章之前我一直以为ubuntu是通过将root用户的密码设成和第一个用户一样的密码的。如果每个人都可以通过sudo和自己的密码来执行root帐户的权限,这样岂不是很不安全?

  2. 2 yegle

    我还是没搞懂……没看你的文章之前我一直以为ubuntu是通过将root用户的密码设成和第一个用户一样的密码的。如果每个人都可以通过sudo和自己的密码来执行root帐户的权限,这样岂不是很不安全?

    sudo可以设置成需要root用户密码才能执行程序,在手册中可以查到。但是这样就失去了sudo的意义了。
    至于sudo的实际作用,是通过设置用户的gid和uid来使用户执行特定权限的程序的,曾经看到过一篇文章讲解这个,不过现在有点记不清了……

  3. 3 yegle

    我还是没搞懂……没看你的文章之前我一直以为ubuntu是通过将root用户的密码设成和第一个用户一样的密码的。如果每个人都可以通过sudo和自己的密码来执行root帐户的权限,这样岂不是很不安全?

    sudo可以设置成需要root用户密码才能执行程序,在手册中可以查到。但是这样就失去了sudo的意义了。
    至于sudo的实际作用,是通过设置用户的gid和uid来使用户执行特定权限的程序的,曾经看到过一篇文章讲解这个,不过现在有点记不清了……

    找到了。你可以尝试下id -u命令和sudo id -u命令。sudo命令通过临时修改用户的uid使用户能够执行某些需要root权限的程序。
    另外,sudoers文件中可以指定sudo可以执行的程序的名字,可以设置某些重要的命令不能通过sudo执行,具体可以看man sudoers

  4. 4 ruisin

    thx

Leave a Reply

Quote selected text