为什么 pkexec 不在终端中更改用户?

为什么 pkexec 不在终端中更改用户?

我正在尝试以 root 用户身份运行桌面快捷方式,愿意在打开快捷方式时看到密码提示。

pkexec 可以做到这一点,但它不会更改用户 - 要么我从终端运行它 - 它总是给我一个提示,提示当前用户不是 sudo。

pkexec --user root [command] 

结果是

Authentication is needed to run [command] as the superuser, 
Authenticating as: mylocal-not-sudo-user

如何将用户更改为root? (我尝试了 gksudo,但在打开 chortcut 时没有弹出提示)

答案1

如果您的目标只是将用户更改为 root,并且您的系统不受公司策略的管理 - 最简单的方法就是sudo像这样使用sudo -i。在这种情况下,sudo将询问您自己的本地密码并切换到具有 root 权限的 shell。

要以 root 身份从桌面快捷方式打开终端,您必须以 root 身份运行终端:sudo xtermsudo gnome-terminal

的用法pkexec并不直接等同于sudo.它的作用几乎相同,但遵循一组略有不同的规则。与历史上使用的简单组用户策略相比,它更加灵活(同时也更加严格)sudo。您可以pkexec通过阅读有关特性的内容man 8 polkit

相关内容