摘抄自http://os.51cto.com/art/201307/404879.htm
    sudo是一个统管一切的命令,他的字面意思是:超级用户才能做
对于linux系统的管理员或者高级用户而言,他是一个必不可少的最重要的命令

之一。你可曾有过这样的经历:在终端中运行某个命令,结果遇到”拒绝访问“

?这就是你所需要的命令。针对非root用户而言。


sudo 用途

    如果你在任何linux命令上加上sudo这个前缀,那么他会提升权限来运

行该命令。执行某些管理任务需要提升的权限。有一天,你可能向运行一台LAMP

服务器,又要手动编辑配置文件,你可能还要重新启动或重置Apache web服务器

或者其他服务后台程序,你甚至需要提升权限来关闭或重启计算机
    如果你熟悉Windows,sudo与当你试图处理任何重要操作时,弹出来的

Windows用户帐户控制(ACL)对话框非常相似,只是不如后者来得友好。在

Windows中,如果你试图执行某项管理任务,对话框就会问你是否想继续执行("

你果真确信想要运行刚才点击的这个程序吗?")随后执行该任务。在Mac机器上

,一个安全对话框会弹出来,要求你输入密码,并点击“确定”。
    而Linux方面显得更有戏剧性。要是没有适当的权限,一些操作会显得

相当怪异。你在编辑的那个重要的配置文件可能无法正确保存内容。你安装上去

的那个程序可能就是拒绝运行。你已下载、想要编译的那段出色的源代码编译不

了。你要是不走运的话,甚至还会看到"拒绝访问"或另一个错误信息。你最担心

的种种情况都变成了现实,但你要做的就是请求权限!这就是为什么我们在执行

像下面这种操作时,应该牢记事先请求超级用户权限:

为什么sudo比另一个办法更好?

    sudo是提升权限的最出色、最安全的方法。我们不妨看一下提升权限的

另一个方法。作为切换用户命令,"su"会要求你输入根密码,并且给你一个超级

用户提示符,以#符号表示。这个#符号意味着"危险!你已作根用户登录上去!"

你下达的第一个命令也许顺利执行完毕。但是你一旦忘了,会继续以根用户身份

登录。要是打错一个字,就完蛋了!你清除了整个硬驱,而不是清除你下载的那

个盗版mp3文件。你的Web服务器和家庭公司统统不见了!如果是sudo,你就得在

每一个命令之前输入"sudo"。因而,你没必要记得切回到常规用户模式,那样发

生的事故就会更少。

suderos文件

这个文件是sudo的基础,控制着谁可以使用sudo命令来获取提升权限。他通常位

于/etc/sudoers,想编辑这个文件,最有效最安全的方法是使用visudo命令,这

个命令会以提升权限启动vi编辑器,那样你就能编辑并保存该文件,他会给

sudoers文件上文件锁,那样别人无法编辑该文件。一旦你完成了编辑工作,他

会分析文件,查找有无简单的错误。编辑sudo文件往往要比仅仅使用任何旧的编

辑器安全的多。
    username  ALL=(ALL)   ALL //为用户"username"授予sudo访问权
    %wheel    ALL=(ALL)   ALL //为属于wheel用户组的所有用户授予sudo访

问权

几个选项

与任何优秀的命令一样,也有几个很棒的选项可以让sudo处理更多的事务。

    sudo -b会在后台运行命令。这对显示许多实时输出内容的命令来说很有用


    sudo -s 会运行以提升权限指定的外壳,为你提供#提示符(别忘了退出!


    sudo su -会让你成为根用户,并装入你那些自定义的用户环境变量。

有没有现在就用它?

我们想要运行重要任务时,sudo提供了安全的提升权限。在Ubuntu用户当中,它

也许是使用最广泛、功能最强大的命令,因为它已成为该发行版中的首选方法。

既然你拥有了这么大的权利,那么在运行命令时务必要做到安全!世上可没有

su-undo撤销命令!