sudo – 以另一个用户身份执行命令
这个 须藤 命令就像 su 在许多方面,但具有一些重要的附加功能。 管理员可以配置 须藤 允许普通用户以非常可控的方式以不同用户(通常是超级用户)的身份执行命令。 特别地,用户可能受限于一个或多个特定命令而没有其他命令。 另一个重要的区别是使用 须藤 不需要访问超级用户的密码。 使用身份验证 须藤, 用户使用他/她自己的密码。 例如,让我们说 须藤 已配置为允许我们运行一个名为“backup_script”的虚构备份程序,该程序需要超级用户权限。 和 须藤 它会像这样完成:
[我@linuxbox ~]$ 须藤备份脚本
密码:
系统备份开始...
[我@linuxbox ~]$ 须藤备份脚本
密码:
系统备份开始...
输入命令后,系统会提示我们输入密码(不是超级用户的),身份验证完成后,将执行指定的命令。 之间的一个重要区别 su 和 须藤 是 须藤 不会启动新的 shell,也不会加载其他用户的环境。 这意味着与不使用命令相比,命令不需要以不同的方式被引用 须藤. 请注意,可以通过指定各种选项来覆盖此行为。 见 须藤 手册页了解详情。
查看授予的权限 须藤, 使用“-l”选项列出它们:
[我@linuxbox ~]$ 须藤 -l
用户我可以在这个主机上运行以下命令:(ALL) ALL
[我@linuxbox ~]$ 须藤 -l
用户我可以在这个主机上运行以下命令:(ALL) ALL
Ubuntu 和 sudo
普通用户经常遇到的问题之一是如何执行某些需要超级用户权限的任务。 这些任务包括安装和更新软件、编辑系统配置文件和访问设备。 在 Windows 世界中,这通常是通过授予用户管理权限来完成的。 这允许用户执行这些任务。 但是,它也使用户执行的程序具有相同的能力。 这在大多数情况下是可取的,但它也允许 恶意软件 (恶意软件)如病毒以自由支配计算机。
在 Unix 世界中,由于 Unix 的多用户传统,普通用户和管理员之间一直存在更大的分歧。 Unix 中采用的方法是仅在需要时授予超级用户权限。 要做到这一点, su 和 须藤 命令是常用的。
直到几年前,大多数 Linux 发行版都依赖于 su 以此目的。 su 不需要配置 须藤 需要,并且拥有 root 帐户在 Unix 中是传统的。 这就引入了一个问题。 用户很想不必要地以 root 身份运行。 事实上,一些用户专门以 root 用户身份操作他们的系统,因为它消除了所有那些烦人的“权限被拒绝”消息。 这就是您如何将 Linux 系统的安全性降低到 Windows 系统的安全性。 不是个好主意。
当 Ubuntu 被引入时,它的创建者采取了不同的策略。 默认情况下,Ubuntu 禁止登录到 root 帐户(因为没有为帐户设置密码),而是使用 须藤 授予超级用户权限。 通过以下方式授予初始用户帐户对超级用户权限的完全访问权限 须藤 并可能授予后续用户帐户类似的权力。