当您第一次开始使用Linux时,您会注意到与Windows的许多不同之处。“不同之处”之一是根用户的概念。在这个初学者系列中,我将解释一些关于Ubuntu的根用户的重要事情。请记住,虽然我是从Ubuntu用户的角度写这篇文章的,但它应该也适用于大多数Linux发行版。您将在本文中了解以下内容:为什么在Ubuntu中禁用root用户使用root之类的命令切换到root用户解锁root用户什么是root用户?为什么它在Ubuntu中被锁定?在Linux中,有一个名为root的超级用户。这是超级管理员账号,可以做任何事,可以使用系统里的一切。它可以在您的Linux系统上访问任何文件并运行任何命令。拥有权利的同时也被赋予了重大的责任。root用户使您可以完全控制系统,因此应谨慎使用。root用户可以访问系统文件并运行更改系统配置的命令。因此,一个错误的命令可能会破坏系统。这就是为什么Ubuntu和其他基于Ubuntu的发行版默认锁定root用户以避免意外灾难的原因。对于您的日常任务,例如在主目录中移动文件、从Internet下载文件、创建文档等,您不需要拥有root权限。让我们用一个类比来更好地理解它。比如说你想切一块水果,你可以用一把菜刀。假设你想砍一棵树,你必须使用锯子。现在,你可以用锯子来切水果,但这不明智,是吗?_这是否意味着,您不能在Ubuntu中成为root用户或使用具有root权限的系统?不,您仍然可以在sudo的帮助下获得root访问权限(在下一节中解释)。重要提示:对于日常任务,root用户权限太强大了。这就是为什么不建议一直使用root用户的原因。您仍然可以使用root用户来运行特殊命令。如何在Ubuntu中以root用户身份运行命令?图片来源:xkcd对于某些特定于系统的任务,您将需要root权限。例如。如果你想通过命令行更新Ubuntu,你不能以普通用户身份运行该命令。它将给出权限被拒绝的错误。aptupdateReadingpackagelists...DoneE:Couldnotopenlockfile/var/lib/apt/lists/lock-open(13:Permissiondenied)E:Unabletolockdirectory/var/lib/apt/lists/W:问题取消链接文件/var/cache/apt/pkgcache.bin-RemoveCaches(13:Permissiondenied)W:Problemunlinkingthefile/var/cache/apt/srcpkgcache.bin-RemoveCaches(13:Permissiondenied)那么,你怎么办像以root身份运行命令?简单的答案是通过在命令前加上sudo以root身份运行。sudoaptupdateUbuntu和许多其他Linux发行版使用一种称为sudo的特殊程序机制。sudo是一个程序,它控制以root用户(或其他用户)身份访问正在运行的命令。事实上,sudo是一个非常通用的工具。它可以配置为允许用户以root身份运行所有命令,或仅运行某些命令。您还可以将其配置为在没有密码的情况下使用sudo运行命令。这个话题信息量很大,也许我会在另一篇文章中详细讨论。现在,您应该知道,当您安装Ubuntu时,您必须创建一个用户帐户。这个用户帐户在您的系统上以管理员身份工作,并且使用Ubuntu中的默认sudo策略,它可以在您的系统上以root权限运行任何命令。sudo的问题在于,运行sudo不需要root用户的密码,而是用户自己的密码。这就是为什么当您使用sudo运行命令时,它会询问运行sudo命令的用户的密码:[emailprotected]:~$sudoaptupdate[sudo]passwordforabhishek:如上例所示查看abhishek尝试使用sudo运行aptupdate命令并询问abhishek的密码。如果您是Linux的新手,当您开始在终端中输入密码时屏幕上没有任何反应,您可能会感到惊讶。这是完全正常的,因为作为默认安全功能,屏幕上没有显示任何内容。甚至没有星号(*)。输入您的密码,然后按回车键。重要提示:要在Ubuntu中以root身份运行命令,请在命令前添加sudo。当要求输入密码时,请输入您帐户的密码。当您在屏幕上输入密码时,您什么也看不到。请继续输入您的密码并按回车键。如何在Ubuntu中成为root用户?您可以使用sudo以root身份运行命令。但是,在某些情况下,您必须以root用户运行一些命令,而您总是忘记在命令前添加sudo,这时您可以暂时切换到root用户。sudo命令允许您模拟root登录shell,使用此命令:sudo-i[emailprotected]:~$sudo-i[sudo]passwordforabhishek:[emailprotected]:~#whoamiroot你会注意到,当您切换到root,shell命令提示符从$(美元符号)变为#(井号)。我开了个(坏)玩笑,英镑比美元强。虽然我已经向您展示了如何成为root,但我必须警告您应该避免以root身份使用系统。毕竟它有理由阻止您使用root用户。另一种临时切换到root用户的方法是使用su命令:sudosu如果您尝试在没有sudo的情况下使用su命令,您将遇到“su身份验证失败”错误。您可以使用exit命令恢复为普通用户。exit如何在Ubuntu中启用root用户?现在您知道在基于Ubuntu的发行版中默认情况下root用户是被锁定的。Linux使您可以自由地在系统上做任何您想做的事情。解锁根是这些自由之一。如果出于某种原因您决定启用root用户,您可以通过为其设置密码来实现:sudopasswdroot同样,不推荐使用root,我也不鼓励您在桌面上这样做。如果您忘记了密码,您将无法在Ubuntu中再次更改root用户密码。(LCTT译注:可以通过单用户模式修改。)您可以通过删除密码再次锁定root用户:sudopasswd-dlroot最后...希望您现在对root的概念有所了解。如果您对此还有一些困惑和疑问,请在评论中告诉我。我会尽力回答您的问题,并可能会更新这篇文章。
