我断断续续地(几乎完全关闭)使用 Linux 已有一年多了。从我读过的所有内容来看,包括这,如果您的帐户是“sudoer”,则只能获得临时提升的权限。但您需要输入使用 sudo 的帐户的密码。您无需提供任何额外知识即可获得提升的权限。
我明白这如何防止已经拥有提升权限的用户犯下严重错误,因为他们大部分时间都处于没有提升权限的模式。但它的作用实际上与(比如)Windows 中的作用不同,在 Windows 中,只要提供提升帐户的登录信息,您就可以从未提升的帐户启动提升的操作。与将帐户设为 sudoer 帐户相比,我喜欢这为执行特权操作提供的更大障碍。
当我发帖询问是否有一种简单的方法可以在 Ubuntu 中实现这一点时,我得到了一些提示,让我找到了一个可能的解决方案:使用[1]Defaults targetpw
进行添加。我不想在没有确认它能够实现上述目的且不会以某种意想不到的方式损害安全性的情况下轻率地这样做。有使用经验的人可以确认一下吗?/etc/sudoers
sudo visudo
/etc/sudoers
后记
我回答了是否这回答了我的问题,我点击了“是”。我的问题被标记为重复问题。但问题并不重复,只是答案适用于我的问题。我不问如何sudo
从标准帐户使用。我问如何执行提升的功能,可以使用sudo
或其他方式。事实证明,一个答案不是sudo
从标准帐户使用,而是转移到 sudoer 帐户。所以答案甚至没有解决我可能重复的问题。 另一个答案使用pkexec
,这也回答了我的问题,但同样,不是我可能重复的问题。因此,我的问题增加了价值,因为人们不会找到这两个答案,除非他们专门搜索sudo
来自非 sudoer 帐户的 ing,而这些答案并没有回答这个问题(用户可能没有寻找这个问题)。
笔记
答案1
如果你正在寻找这样的东西:
从未提升权限的账户发起提升权限的操作,只要您提供提升权限账户的登录信息即可。
使用su
临时以另一个用户身份运行命令非常相似。
要使用此命令,请打开终端并运行:
su username
替换username
为您要临时运行命令的用户。
这会将打开的 shell 切换到该用户。运行您想要运行的命令。
完成后,键入exit
以完成会话并将 shell 返回给原始用户。
答案2
我完全不明白为什么sudo
不能做你想做的事。
为每个需要访问权限的人创建一个带有强密码的单独用户sudo
。这比在用户之间共享管理员密码要安全得多。
让他们sudo
能够访问他们需要的命令。
如果具有 sudo 访问权限的人需要以 root 身份执行更多命令,您可以运行sudo -s
以获取 root shell。