关于sudo
关于 sudo 的一个常见误解是它仅用于为普通用户提供 root 权限。事实上,sudo 命令允许你以任何用户身份运行命令,默认通常是 root。
Linux 中的 sudo 命令代表Super User DO。它允许你以另一个用户(包括超级用户)的身份执行命令。sudo 是访问 root 权限并以 root 用户身份执行命令的有效方法。使用 sudo,你可以在不知道 root 密码或以 root 用户身份登录的情况下访问 root 权限。用户需要具有 sudo 权限才能运行该sudo命令。
如何授予用户 sudo 权限
Ubuntu 用户通常认为能够运行 sudo 命令是理所当然的。这是因为,在安装过程中,会创建一个默认用户,并且 Ubuntu 中的默认用户始终设置有 sudo 权限。但是,如果你在 Ubuntu 中使用其他发行版或有其他用户,则可能需要授予用户运行 sudo 命令的权限。
只有少数人应该可以访问 sudo 命令,并且他们应该是系统管理员。用户应该只被授予他们执行工作所需的权限。
要授予用户 sudo 权限,你只需将他们添加到 sudo 组。创建用户时,使用以下命令:
sudo usermod -a -G sudo ubuntu
上述命令将创建一个具有主文件夹的用户并将该用户添加到 sudo 组。如果用户已经存在,那么你可以使用以下命令将用户添加到 sudo 组:
sudo usermod -a -G sudo linux
当你忘记运行它时一个巧妙的 sudo 技巧
下面是你可以从经验丰富的专家那里学到的一种终端命令技巧,在本例中,用于通过“权限不够”消息。如果这是一个很长的命令,你可以在历史记录中把 sudo 放在前面,可以再打出来,也可以用下面这个简单的命令,用 sudo 运行前面的命令:
sudo !!
bang bang (!!)命令是重复和运行您在终端中输入的上一个命令的快捷方式。当您忘记需要管理员权限才能执行某项操作时,此命令非常有用,并且只需键入即可使用super-user权限重复此命令,!!获取最后一次运行命令。
如何通过 sudo 切换到 root 用户
su 命令用于从一个用户帐户切换到另一个用户帐户。在自己的交换机上运行Su命令到超级用户帐户。因此,使用 sudo 命令切换到超级用户,只需执行以下命令:
sudo su
如何在后台运行 sudo 命令
如果要在后台运行需要超级用户权限的命令,请使用 -b 开关运行 sudo 命令,如下所示:
sudo -b 命令
请注意,如果正在运行的命令需要用户交互,这将不起作用。
在后台运行命令的另一种方法是在末尾添加一个 & 符号,如下所示:
sudo & 命令
如何使用 sudo 权限编辑文件
使用超级用户权限编辑文件的明显方法是运行编辑器,例如GNU nano, 使用 sudo 如下:
sudo nano
或者,你可以使用以下语法:
sudo -e
如何使用 sudo 以其他用户身份运行命令
sudo 命令可用于以任何其他用户身份运行命令。例如,如果你以用户“linuxmi”身份登录,并且希望以“linux”身份运行该命令,那么你将按以下方式运行 sudo 命令:
sudo -u
如果你想尝试一下,请创建一个名为“linux”的新用户,并运行以下Whoami 命令:
sudo -u linux whoami
如何验证 sudo 凭据
当你使用 sudo 运行命令时,系统会提示你输入密码。一段时间后,你可以使用 sudo 运行其他命令,而无需输入密码。如果你希望延长该期限,请运行以下命令:
sudo -v
使用 sudo 命令列出用户权限
-l 或者–list 选项用于列出用户对输出的权限。您可以使用此选项两次以获得更长的格式。
sudo -l
或者
sudo --list
使用两次 -l 以获得更长的输出:
sudo -ll
使用 sudo 命令显示另一个用户的权限
您可以使用 -U 或–other-user 选项 -l 来显示给定用户的用户权限。
sudo -l -U linux
或者
sudo -l --other-user linux
更多关于 sudo
sudo 不仅仅是以超级用户身份运行命令。查看我们的 sudo 手册,了解你可以使用的其他一些选项。