Linux 命令行基础:sudo
当我刚开始学习 Linux 命令行时,我发现自己会记住特定场景的命令。即使它不是最适合这项工作的命令,我也有自己的做事方式,而且这对我很有效。当我开始在一个更专业的环境中工作,周围都是拥有多年经验和知识的人时,我发现仅仅因为我可以使用命令并不意味着我理解了命令。有时候,仅仅知道如何使用是不够的。它有助于理解幕后发生的事情以及为什么使用特定的参数、标志和对象。这个sudo
命令是我以前不常用的。现在这个选择是不可想象的,老实说,这让我嘲笑自己,因为我认为自己知道自己在做什么。我稍后会解释这一点;现在,让我们看看这个sudo
命令是什么,为什么它很重要,以及如何配置它。
什么是sudo
?
你知道电视上那些犯罪场景吗?一个便衣侦探走上前来,穿制服的警察阻止他们进入该区域,直到他们出示警徽?这些年来,我们都见过这种戏剧性的情节,从黄色胶带到倾盆大雨和老套的风衣,但接下来会发生什么?穿制服的警察看了一眼,意识到这个人属于现场,就让他们通过了。Sudo 是你的警徽。这是你的“黄金票”,你的安全许可,也是你随心所欲的许可。抛开比喻,sudo
这是你的特权。
Sudo 代表“超级用户执行”,是执行高权限管理任务的万能钥匙。您是否曾尝试编辑配置文件,却收到“权限被拒绝”的提示?(我/etc/hosts
突然想到了该文件。)如果是这样,那是因为您的用户帐户无权访问该文件。您需要 root 或 sudoer 访问权限。以前,当我“按自己的方式”做事时,我总是使用命令su
(切换用户)并以 root 身份登录执行这些任务。虽然这种方法有效,但在大多数情况下,它并不是完成所需任务的最佳方法。
想想这个:你su
以 root 身份编辑文件,但之后忘记切换回用户帐户。此时,一个简单的命令行错误可能会让你作为管理员付出惨重代价。我看到一位同事因为这个简单的疏忽而毁掉了纽约州后端存储服务器的根目录。谢天谢地,数据和他的职业生涯都可以恢复!
[ 免费下载:高级 Linux 命令备忘单。]
那么我该如何使用sudo
?
只需在所需命令前面加上sudo
。然后系统将提示您输入密码(您需要输入用户帐户密码,而不是 root 密码)。例如,如果您想编辑重要的配置文件,您可以使用 vi /etc/sudoers
:
但是,当您这样做时,您会遇到“权限被拒绝”错误,或类似的错误:
现在,尝试使用以下命令sudo
:
系统将提示您输入用户帐户的密码。输入正确的凭据后,您将获得对文件的读/写访问权限:
现在您知道如何使用此命令,让我们看看如何配置该sudoers
文件。
成为超级用户
该sudo
权限是按用户或组授予的。要确保您的帐户具有此权限,必须将您添加到文件中sudoers
。该文件位于 /etc/sudoers
并需要 root 权限。要使自己成为超级用户,请在文件底部输入以下内容:
username ALL=(ALL) ALL //gives user "username" sudo access
%wheel ALL=(ALL) ALL //Gives all users that belong to the wheel group sudo access
这样做将赋予您的用户帐户所有 root 权限,因此请明智地使用它们。
选择和要点
现在您已经了解了基本命令以及如何将您的用户帐户添加到超级用户配置文件,您可能已经准备好研究选项和标志了。手册页中的信息太多了,无法在此介绍,因此我只会留下一个链接,以便您可以自己查看这些信息。
请记住,这sudo
是使用提升权限安全完成任务的首选方法。此工具使用和配置简单,并且不会让您暴露在高权限帐户中。有时,确实有更好的方法。
想要试用 Red Hat Enterprise Linux?立即免费下载。