在 Windows Vista 及更高版本中,您必须通过 UAC 对话框才能执行需要管理员权限的操作,例如安装或卸载程序。在 Linux 上,要成为 root,您必须输入完整的密码。
这是为什么?为什么任何 Linux 发行版中都没有无密码 sudo?Windows 缺乏密码保护是否意味着它在某种程度上存在漏洞?如果是这样,我想看看概念证明或具体解释。
更新:谢谢你的回答,但它们没有解决我的主要问题。更准确地说:如果有不是既然 Windows 中存在漏洞,那么为什么 Linux 发行版还要不断要求用户输入密码呢?如果是那么,究竟如何才能利用这个漏洞呢?
答案1
实际上,这取决于您在任一系统上的用户级别。
Linux
Linux 允许非常广泛的用户权限管理,其中大部分可以通过visudo
(即“sudoers 文件”)进行控制。您可以控制谁拥有管理员访问权限(root 权限)以及对哪种类型的可执行文件具有访问权限。它们可以要求密码才能执行 - 或 - 被允许nopass
,这基本上相当于 Windows 管理员帐户。
视窗
默认情况下,创建的第一个帐户是管理员帐户(由于新 Windows 默认没有root
(或 Windows 语言中的“管理员”)帐户)。这意味着您的常用用户帐户将充当 Linux 管理员,nopass
并且行为非常相似。
概括...
长话短说,这实际上取决于您如何设置系统。Ubuntu 和大多数衍生产品都以这种方式充当窗口,除了它们已nopass
关闭 - 但您的初始帐户确实是一个admin
帐户。
从技术上讲,最好使用传统的用户帐户,并且仅使用提升的帐户进行系统设置后不常见的管理工作。
但是,正如@Eddy_Em 所说,尽管有些苛刻,但 Windows 自 XP 以来就默认将其用户设置为不知道/不关心此类限制。您可以自行设置并拥有一个典型用户帐户和一个管理员帐户,然后您必须提供用户/密码才能进行更改(只需使用用户级别帐户登录即可)。
答案2
不,Sudo 和 UAC 实际上都不需要密码。这两个系统的目的都是确保操作员绝对确定他们想要以管理员身份执行某些操作,而不是检查他们是否是管理员。除非您在具有管理员权限的帐户下进行身份验证,否则您不能使用 sudo 或 uac。这就是为什么大多数系统上的 sudo 密码就是用户密码本身的原因。请注意,在 Vista 中,Windows RUNAS 支持较弱,因此一些商店使用 UAC 作为 Runas 的替代品,但这不是它的目的。
答案3
UAC 实际上可以通过控制面板禁用。应用程序的安全性取决于登录帐户的权限和系统的暴露面。