`

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

阅读更多

【2013年7月25日 51CTO外电头条】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机器上,一个安全对话框会弹出来,要求你输入密码,并点击“确定”。

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

  1. sudo reboot 

在这个屏幕截图中看看如果我们没有先借助sudo提升权限,会出现什么情况:

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

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

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

Suderos文件

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

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

  1. username  ALL=(ALL)   ALL //为用户"username"授予sudo访问权 
  2. %wheel    ALL=(ALL)   ALL //为属于wheel用户组的所有用户授予sudo访问权 

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

几个选项

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

  • sudo -b会在后台运行命令。这对显示许多实时输出内容的命令来说很有用。
  • sudo -s 会运行以提升权限指定的外壳,为你提供#提示符(别忘了退出!)
  • sudo su -会让你成为根用户,并装入你那些自定义的用户环境变量。

有没有现在就用它?

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

原文链接:http://blog.linuxacademy.com/linux/linux-commands-for-beginners-sudo/

转自:http://os.51cto.com/art/201307/404879.htm

分享到:
评论

相关推荐

    Linux系统Sudo命令的使用说明

    Linux系统中的Sudo命令是Unix/Linux环境中不可或缺的工具,它为系统管理员提供了高效而安全的权限管理机制。Sudo允许管理员赋予普通用户执行特定管理任务的权限,这些任务通常需要root权限,例如挂载文件系统、关闭...

    Linux系统管理员培训材料

    Linux系统管理员培训材料主要针对那些希望深入理解和掌握Linux操作系统,特别是Red Hat Enterprise Linux(RHEL)的用户。这个培训课程详细介绍了Linux的基础知识,包括安装、配置和日常管理任务,旨在使学员能够...

    linux运维笔记:最常用的150个命令.docx

    Linux运维笔记是系统管理员和开发者不可或缺的一部分,这篇笔记总结了最常用的150个Linux命令,涵盖文件和目录操作、查看文件及内容处理、文件压缩及解压缩、信息显示、搜索文件、用户管理和基础网络操作等多个方面...

    Linux命令大全 (学习Linux命令的必不可少的工具书)

    在IT领域,Linux操作系统是开发者、系统管理员以及技术爱好者广泛使用的平台。它的强大之处在于其命令行界面,通过一系列简洁而强大的命令,用户可以高效地完成各种任务。这份"Linux命令大全"是学习Linux操作系统的...

    linux的dpkg命令的使用

    通过上述命令的使用,用户不仅可以高效管理软件包,还能深入理解Linux系统中的软件管理机制,这对于专业用户和系统管理员来说是必不可少的技能。掌握dpkg的使用,意味着能够在复杂环境中更灵活、更精准地处理软件包...

    linux普通用户揭示未找到命令,但是写上sudo就能用.其原理是.zip

    首先,Linux系统中的命令分为两类:一类是可供所有用户使用的,通常位于`/usr/bin`目录下;另一类是具有更高权限要求的系统级命令,位于`/usr/sbin`和`/sbin`目录下。`/bin`和`/sbin`目录下的命令是系统启动时必要的...

    4-8su命令与sudo服务.pdf

    Linux用户身份与文件权限管理 《Linux网络操作系统》课程中,用户身份与文件权限管理是非常...通过正确地理解和使用su命令、sudo服务和文件权限管理,系统管理员可以更好地管理Linux系统,提高系统的安全性和可靠性。

    面试:说说Linux 命令 su 和 sudo 的区别?.zip

    在Linux操作系统中,掌握一些基本的命令行...了解`su`和`sudo`的用法和差异,不仅有助于你在面试中回答问题,还能在实际工作中更安全、高效地管理Linux系统。在日常操作中,应根据任务需求和安全性考虑选择合适的命令。

    Ubuntu Linux系统下apt-get命令详解 .txt

    使用sudo是因为通常情况下需要管理员权限来安装软件。 - **示例**:`sudo apt-get install firefox`用于安装Firefox浏览器。 - **命令格式**:`sudo apt-get install package --reinstall` - **功能说明**:重新...

    linux sudo

    **Sudo**(Superuser DO)是一种广泛应用于Unix和Linux系统的工具,它允许系统管理员为普通用户分配特定权限,使他们能够在不需要登录为超级用户的情况下执行特定任务。这既提升了系统安全性,又简化了日常维护工作...

    linux系统sudo命令详解

    Linux系统中的`sudo`命令是Unix/Linux环境下的一个重要工具,它允许系统管理员为普通用户提供临时的、受限的超级用户权限,使这些用户能够在特定条件下执行需要root权限的任务,如安装软件、修改系统配置或管理系统...

    Linux系统必学的60个命令

    Linux系统以其强大的功能和灵活性而闻名,掌握上述命令不仅能够提升个人的系统管理能力,也是成为专业Linux系统管理员的必经之路。随着对命令的不断熟悉与实践,你将能够更深入地理解Linux系统的工作原理,从而更好...

    Linux系统常用命令

    3. `su` 和 `sudo`:切换用户,`sudo` 允许普通用户以管理员权限执行命令。 四、系统信息和进程管理 1. `uname`:显示系统信息,`uname -a` 输出详细信息。 2. `top`:实时监控系统资源使用情况,包括CPU和内存...

    LINUX系统管理员师资培训PPT学习教案.pptx

    Linux系统管理员是IT领域中一个重要的角色,负责维护和管理基于Linux操作系统的服务器和网络设备。这份PPT学习教案详细介绍了成为一名合格的Linux系统管理员所需掌握的基础知识。 首先,我们从第一章了解到Linux的...

    银河麒麟V10 server系统管理员手册

    ### 银河麒麟V10 Server系统管理员手册知识点概览 #### 一、基本系统配置 **1.1 系统地区和键盘配置** - **配置系统地区**:银河麒麟V10 Server允许管理员根据实际需求配置系统的地理位置。这包括但不限于时区...

    Ubuntu中sudo命令的使用

    `sudo`(superuser do)是Linux系统中一种强大的工具,允许普通用户在不透露root密码的情况下执行需要管理员权限的任务。这不仅增加了系统的安全性,也为用户提供了便捷的操作方式。 ##### 2.1 `sudo`的工作原理 -...

    Linux 中 root 与 sudo 的用法与区别.docx

    使用 sudo,系统管理员可以执行以下操作: * 授予用户或用户组以提升或 root 权限运行某些命令的能力。 * 查看每个使用 sudo 的用户的用户 ID 的日志。 * 控制用户可以在主机系统上使用什么命令。 * Sudo 会记录在 ...

    Linux服务器配置与管理:linux用户管理命令.pptx

    熟练掌握这些用户管理命令对于Linux系统的运维至关重要,它们能帮助管理员高效、安全地管理用户账户,确保系统的稳定运行。同时,这些操作也体现了良好的职业素养和对细节的严谨态度,符合工匠精神的要求。

    Linux常用的50个命令

    在Linux操作系统中,掌握常用命令是日常操作和管理...这些命令构成了 Linux 系统管理员和开发人员的基本工具箱,熟练掌握它们能极大地提高工作效率。学习并理解这些命令的用途和参数,是成为 Linux 专家的关键步骤。

    linux运维常用命令

    Linux 运维常用命令是 Linux 系统管理员和开发者不可或缺的一部分,这些命令可以帮助管理员快速高效地完成各种任务。本文总结了 20 个常用的 Linux 运维命令,每个命令都附带了详细的说明和用途。 1. 删除 0 字节...

Global site tag (gtag.js) - Google Analytics