为什么叫sudo?


30

为什么我们sudo要以管理员身份执行终端命令?为什么不呢 admin?有什么理由sudo吗?


19
sudo ls为“超级用户身份,做ls”(不,这不是傻了,记忆术是记住命令的重要)(也没有,大概意思是“ 小号女巫ü SER和的,因为su方式切换用户,但我发现前者最好的。 -))
Rmano 2014年

1
超级用户比admin好得多:)感谢您的答复。
穆罕默德

2
这就是您要做的sudo伏都教。:)
Shadur 2014年

14
有趣的事实:意大利语意sudo(I)出汗。我喜欢将其解释sudo X满头汗,因为害怕输入错误的命令并擦掉我的所有数据。这有助于记住,sudo仅在以下情况时才应在命令前添加:1)必要2)您知道自己在做什么3)您已经仔细地编写和阅读了命令行,以避免输入错误(尤其是很难避免的空格)捕获并可能导致非常糟糕的意外结果)。
巴库里2014年

2
@Rmano su 最初是指 “超级用户”,后来是 “替代用户” 。
吉尔(Gilles)'所以

Answers:


32

维基百科

sudo是用于类似Unix的计算机操作系统的程序,该程序允许用户使用其他用户(通常是超级用户或root)的安全特权运行程序。它的名称是“ su”(替代用户)和“ do”的组合,或采取操作。

与su命令不同,用户通常将自己的密码提供给sudo而不是root密码。进行身份验证之后,如果/ usr / local / etc / sudoers(有时在/ etc / sudoers中找到)配置文件允许用户访问,则系统将调用所请求的命令。sudoers配置文件可实现大量的可配置性,包括但不限于:仅从调用终端启用root命令;某些命令不需要密码;每个用户或组要求输入密码;每次都需要重新输入密码,或者完全不需要特定命令行的密码。它也可以配置为允许传递参数或多个命令,甚至支持带有正则表达式的命令。

它是具有超级用户(管理员)特权的临时一次性命令,而无需直接root登录。


11
维基部分是正确的。关于“ Mac is Su”的评论不正确。Mac sudosuBSD和Linux一样,都有和。
daviewales 2014年

@Virusboy您好,很抱歉在此主题中尝试。但我必须知道,将Tobuntu 14.04与Toshiba M840 i3-3110M一起使用是否容易。谢谢。
波恩2015年

在任何PC上
都很

21

xkcd:三明治

sudo之前,大多数管理员都以root用户身份登录,因为这是配置系统的简便方法,因为您拥有所有权利。但是,一个小错误错误的Internet链接以及您的整个系统可能会受到影响甚至受到损害。

由于这个问题,须藤出现了。目的是仅在短时间内且仅在需要时使用管理特权。此外,这可以避免用户登录另一个帐户。这显然会增强系统安全性

Ubuntu下,他们选择增强系统的安全性。因此,他们决定采用“ sudo”方式。根用户已禁用;不需要它,尤其是没有用户通过X界面以root用户身份登录的风险。此外,他们还允许授权用户使用sudo启动每个命令。很棒的事情是高级用户可以访问root帐户。

的缺点sudo

  • 您可以通过sudo允许哪些命令
  • 您需要sudo每个需要管理特权的命令之前编写
  • 每隔一次,您需要重新输入密码

什么sudo意思 它的名称是“ su”(替代用户)和“ do”的串联。

为什么sudoadmin呢?我认为这sudo意味着admin在特定时间且仅在需要时才显示。

来自Windows环境的人应该了解为什么不是admin :)

参考:站点
图片:xkcd


那为什么不叫罗多呢?
JamesRyan 2014年

3
您的“须藤前”段落是错误的。两者之间没有区别susudo在这方面,两者之间的唯一区别是使用的凭据。使用sudo而不是su不是更安全(实际上,它的安全性要差一些);sudo的主要优点(以及Ubuntu选择它的原因)是为用户提供了简便性(只需记住一个密码)。
吉尔(Gilles)'所以

11

从Linux Foundation的产品Linux.com:

Sudo代表“ 替代用户 ”或“ 超级用户 ”(取决于您如何看待它)。sudo所做的工作对许多Linux发行版都非常重要且至关重要。有效地,sudo允许用户以另一个用户(通常是root用户)的身份运行程序。

[强调我的。] 来源


3

超级用户

有一个命令su可以成为超级用户,所以您可能会说

$ su
# apt-get install somehorror
# exit
$

sudo让您一口气做到这一点,而您不必记住要放弃魔力。

$ sudo apt-get install somehorror

2
su(“替代用户”)允许您成为任何用户:您可以指定用户名作为参数。
David Richerby,2014年

1
实际上,两者并不完全相同,但是在大多数情况下是相似的。但是sudo主要只允许您使用超级用户特权运行程序,但保持正常环境不变。su实际上使您成为具有超级用户环境的超级用户。
马蒂·弗里德

3

关于为什么它不是“ admin”(或更间接地,为什么su不是“ switchUser”或类似的东西),由于历史原因与Unix的起源有关,传统的Unix命令往往是最小的缩写。

出于最基本的原因,我们首先需要回到称为Unix的相同原因。Unix的大部分灵感来自于早期的多用户多任务操作系统之一,即MIT的Multics。(Unix的名称是“ Multics的单数形式”或“ castrated Multics”,这取决于您询问的人和当前的心情。)

在Multics的其他创新中,它引入了将实际文件位置与目录信息分开的概念,从而允许单个文件具有多个名称。(在Unix中,“链接”。)Multics充分利用了这一点;大多数Multics命令同时具有ALongNameThatIsImpossibleToType和ASNTOECR(只有专家才能记住的简称)。经验表明,长名称实际上并没有增加用户友好性,因为实际上,在那时,所有用户都是或很快成为“专家”,几乎没有人使用过长名称。当Unix采用Multics的某些设计时,它们的简化之一就是丢弃未使用的长名称,而仅保留专家友好的短名称。

这也非常符合Unix的理念,即将操作系统及其核心命令集缩减为基本内容,从而使其能够在较小的系统上高效运行。在那些日子里,程序员仍在保留每个字节和每个周期的可能。处理器非常慢,终端速度同样非常慢,内存也非常昂贵(并且速度更慢,并且只有很小的缓存)。将系统命令压缩到最小长度可能实际上并没有节省太多(如果有的话)实际资源,但是在当时的思维方式上“感觉很对”。

如果您确实坚持使用用户友好的命令名,那么Unix的回答将是“您知道如何编写Shell脚本;您可以自己实现。如果您不知道如何编写Shell脚本,则需要学习如何做。因此。如果您不喜欢学习和/或编码,那么您将不会对Unix感到满意,而应该使用其他东西。”


3

superuser ”是否是su 原始来源,因为您提供的用户名不必是超级用户,所以它是不准确的。同理使用另一个用户来执行命令sudo -u

替代用户 ”更为准确,但听起来笨拙。这让我想到了代课老师。

因此,我更喜欢将su其简单地视为“切换用户”,sudo因此也被认为是“切换用户并执行”。


1
永远是超级用户,但更能替代用户声音
BeyondProgrammer

1

Sudo网站

“ Sudo是什么?

Sudo(su“ do”)允许系统管理员委派权限,以赋予某些用户(或用户组)以root或其他用户身份运行某些(或全部)命令的能力,同时提供命令及其参数的审核跟踪。”

“ Sudo最初是由Bob Coggeshall和Cliff Spencer于1980年前后在纽约州立大学/布法罗分校的计算机科学系构思和实施的。它运行在运行4.1BSD的VAX-11 / 750上。 ,格雷琴·菲利普斯(Gretchen Phillips),约翰·洛弗索(John LoVerso)和唐·格沃里克(Don Gworek)于1985年12月发布到了net.sources Usenet新闻组。”

就是说,尽管我不相信有任何证据,但我始终坚信该名称是一种怪异的程序员笑话。您有命令“ su”(超级用户)“ do”,但实际上不是超级用户-将“ doo”转换为“ doh”,“ sudo”的外观/听起来很像“ pseudo”(假,假)。


-2

大多数人给出的答案是“超级用户操作”的混搭。我喜欢这样,但是说它是“替代用户”的混搭可能更正确,因为您可以像-u标志一样选择“执行”的用户。

我还认为它是对psuedonym单词的一种玩法,因为您可以使用-u标志假装为其他人,无论是root还是任何其他用户。


3
好吧,问题是为什么要这样命名,而不是用反义词和/或助记符命名,所以... [需要引用]
derobert 2014年

另外,默认的目标用户也不必是root(尽管有意义或至少为uid 0,通常是),请参阅runas_defaultin sudoers
斯特凡Chazelas

@derobert +1,用于使用“ backronyms”,并保持网站的正确答案。
三杯

@sch谢谢,我不知道。
三杯
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.