分类: LINUX
2011-01-11 15:42:29
你可能已经见过这两个命令中的一个。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系统上,直接运行su以成为root的做法将得不到任何结果。因为默认状态下root用户的并没有一个可用的密码,因此你也就不能输入一个密码来获得权限。这种情况下sudo就有了用武之地了。sudo命令允许你以其他用户的身份运行一条命令(通常是root用户)。
其中主要的不同就是你需要输入的密码是你自己帐户的密码,而不是其他用户的。这将允许一个系统上的多个管理员不用共享一个密码。当运行sudo -s时,一个root权限的shell将被打开,与运行su的效果一样。
任何linux都有sudo.
sudo是被root用来把一些管理任务分给其他普通用户的方法。
root在/etc/sudoers里规定了哪个普通用户可以用自己的密码运行哪个root权限的命令。
chinaunix网友2011-03-08 20:36:35
很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com