为什么我必须`sudo`?


12

我在RPi上遵循了一些教程,许多命令都以sudo; 这是什么意思,它是做什么的?



7
这是一个很大的问题,我可以想象很多初学者都需要有关此方面的信息。
berry120

@ berry120是的,但是它本来更适合Unix / Linux SE,因为人们也可以在其他OS上运行他们的Pi(我正在看着你,RISC OS!)
evavvid

哇啊 一岁的问题!使那2年!
evamvid 2014年

@evamvid这是关于RPi.SE的第一个示例问题之一。–
Alex Chamberlain

Answers:


21

sudo代表超级用户执行;它允许您以另一个用户(通常是超级用户root)的身份运行,以执行管理任务,例如更新软件,更改文件系统和启动守护程序。

root具有最终的力量,几乎可以运行任何东西。因此,它可能会对您的系统造成很大的损害,在最坏的情况下,您将不得不重新启动。

在运行命令之前,您必须始终了解该命令在做什么。

我们为什么有sudo

出于安全原因,普通用户无法做任何事情。它可以防止您因意外而做任何不好的事情,并防止恶意用户损坏系统。

root当我们需要提升的权限时,为什么不登录?

sudo允许管理员控制每个用户可以以什么身份运行的命令root。例如,您的管理员可能会允许您运行apt-getroot,但没有别的。此外,通过运行的所有命令sudo都已登录/var/log/auth.log

其他发行

默认的Debian映像已sudo预先安装,但其他可能未安装。您通常可以使用分发程序包管理器来安装它,或者研究其他获得root权限的方法。

您可以安装sudo使用pacman:运行pacman -S sudoroot。然后,您应该添加一个新用户并禁用该root帐户。

su

在Arch Linux(和其他支持它的发行版)中,您可以使用su(替代用户)命令来假定任何其他用户(包括root)的身份。这意味着您将来的所有命令(在当前会话中)都将具有其权限。但是,您将需要输入他们的密码,并且您运行的命令不一定会被记录。

也可以看看:


1
您认为有关的信息su可能对真正完成答案有用吗?
Alex L

在“其他发行版”标题下建议进行修改?
Alex Chamberlain 2012年

除此之外,我倾向于在加载pi时立即编写“ sudo bash”,以避免始终都需要键入sudo。这使您可以使用超级用户权限运行所有程序。这显然有点危险,但是使用rpi几乎没有什么坏处可以执行。
2012年

1
这是一个非常不好的习惯!
Alex Chamberlain 2012年

1
@phalt为什么不以root用户身份登录呢?
吉文斯

2

通常,您使用它以root身份而不是当前用户身份执行特定命令。出于安全原因,Linux世界中的规范是主要用户具有有限的特权,并且当您需要执行一些无特权的事情(例如安装软件包)时,可以切换到root用户。

根有点像Windows世界中的管理员-它是您最终的“可以做什么”用户。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.