Linux系统管理员不可不知的命令:sudo

sudo是个统管一切的命令。它的字面意思是表明“超级用户才能作!”(super user do!)对Linux系统管理员或高级用户而言,它是必不可少的最重要的命令之一。你可曾有过这样的经历:在终端中试着运行某个命令,结果却遇到“拒绝访问”?这个就是你所须要的命令!但正所谓,权力越大,责任也越大!较之以根用户身份登陆,或者使用 su “switch user” 命令,sudo要好得多。请耐心读下去,看看sudo能为你作些什么!安全

sudo:它有什么用途?服务器

那么,sudo实际能作些什么呢?若是你在任何Linux命令的前面加上“sudo”这个前缀,那么它会以提高的权限来运行该命令。执行某些管理任务须要提高的权限。有一天,你可能想运行一台LAMP(Linux Apache MySQL PHP)服务器,又要手动编辑配置文件。你可能还要从新启动或重置Apache Web服务器或者是其余服务后台程序。你甚至须要提高的权限来关闭或从新计算机。“嘿,谁关闭了这台机子?”编辑器

若是你熟悉Windows,sudo与当你试图处理任何重要操做时,弹出来的Windows用户账户控制(ACL)对话框很是类似,只是不如后者来得友好。在Windows中,若是你试图执行某项管理任务,对话框就会问你是否想继续执行("你果然确信想要运行刚才点击的这个程序吗?")随后执行该任务。在Mac机器上,一个安全对话框会弹出来,要求你输入密码,并点击“肯定”。ide

而Linux方面显得更有戏剧性。要是没有适当的权限,一些操做会显得至关怪异。你在编辑的那个重要的配置文件可能没法正确保存内容。你安装上去的那个程序可能就是拒绝运行。你已下载、想要编译的那段出色的源代码编译不了。你要是不走运的话,甚至还会看到"拒绝访问"或另外一个错误信息。你最担忧的种种状况都变成了现实,但你要作的就是请求权限!这就是为何咱们在执行像下面这种操做时,应该牢记事先请求超级用户权限:spa

sudo reboot

在这个屏幕截图中看看若是咱们没有先借助sudo提高权限,会出现什么状况:orm

首先,咱们使用重启命令尝试重启系统。该命令没有提到:“必须是超级用户”。而后,咱们试着用sudo重启。sudo要求你提供用户密码。请注意:它要求你提供的是你的密码,而不是根密码。最后,咱们看到代表如今将重启系统的广播信息。sudo就像是个神奇的命令,会发出神奇的指令。htm

为何sudo比另外一个办法更好?blog

sudo是提高权限的最出色、最安全的方法。咱们不妨看一下提高权限的另外一个方法。做为切换用户命令,"su"会要求你输入根密码,而且给你一个超级用户提示符,以#符号表示。这个#符号意味着"危险!你已做根用户登陆上去!"你下达的第一个命令也许顺利执行完毕。可是你一旦忘了,会继续以根用户身份登陆。要是打错一个字,就完蛋了!你清除了整个硬驱,而不是清除你下载的那个盗版mp3文件。你的Web服务器和家庭公司通通不见了!若是是sudo,你就得在每个命令以前输入"sudo"。于是,你不必记得切回到常规用户模式,那样发生的事故就会更少。事务

Suderos文件get

这个文件可谓是sudo的基础。它控制着谁可使用sudo命令来得到提高的权限。它一般位于/etc/sudoers。想编辑这个文件,最有效最安全的方式就是,使用visudo命令。这个命令会以提高权限启动vi编辑器,那样你就能编辑并保存该文件。它还会给sudoers文件上文件锁,那样别人没法编辑该文件。一旦你完成了编辑工做,它会分析文件,查找有无简单的错误。编辑sudo文件要比仅仅使用任何旧的文本编辑器来得安全得多。

该文件含有许多参数。你能够指定哪些用户或哪些用户助能够执行哪些命令。咱们准备为本身授予访问sudo的权限,为此只要在底部添加:

username  ALL=(ALL)   ALL //为用户"username"授予sudo访问权 %wheel    ALL=(ALL)   ALL //为属于wheel用户组的全部用户授予sudo访问权

如今指定的用户名就可以使用全部根权限了。你还能够容许某个用户或用户组只对特定服务或服务器拥有sudo访问权,以取代ALL参数,不过那是另外一个话题了。

几个选项

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

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

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

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

  • sudo -l但看当前用户有哪些权限。

有没有如今就用它?

咱们想要运行重要任务时,sudo提供了安全的提高权限。在Linux用户当中,它也许是使用最普遍、功能最强大的命令,由于它已成为该发行版中的首选方法。既然你拥有了这么大的权利,那么在运行命令时务必要作到安全!世上可没有su-undo撤销命令!

相关文章
相关标签/搜索