按照说明这里我得到:
pkexec visudo
==== AUTHENTICATING FOR org.freedesktop.policykit.exec ===
Authentication is needed to run `/usr/sbin/visudo' as the super user
Authenticating as: Thomas,,, (tuc) Password: polkit-agent-helper-1:
error response to PolicyKit daemon:
GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: No session for
cookie
==== AUTHENTICATION FAILED ===
Error executing command as another user: Not authorized
This incident has been reported.
我通过 ssh 执行此操作,因为我执行此操作的盒子用作没有屏幕的音乐服务器,并且很难访问。当我从 Ubuntu 14.04 升级到 16.04 时发生了这种情况。我尝试从另一个最近的 16.04 安装中复制 sudoers 文件,但由于 sudoers 文件,我无法这样做:
sudo mv ~/gyrf sudoers
>> /etc/sudoers: syntax error near line 36 <<<
>> /etc/sudoers: syntax error near line 37 <<<
>> /etc/sudoers: syntax error near line 38 <<<
>> /etc/sudoers: syntax error near line 39 <<<
>> /etc/sudoers: syntax error near line 40 <<<
>> /etc/sudoers: syntax error near line 41 <<<
>> /etc/sudoers: syntax error near line 42 <<<
>> /etc/sudoers: syntax error near line 43 <<<
>> /etc/sudoers: syntax error near line 44 <<<
>> /etc/sudoers: syntax error near line 45 <<<
>> /etc/sudoers: syntax error near line 46 <<<
>> /etc/sudoers: syntax error near line 47 <<<
>> /etc/sudoers: syntax error near line 48 <<<
>> /etc/sudoers: syntax error near line 49 <<<
sudo: parse error in /etc/sudoers near line 36
sudo: no valid sudoers sources found, quitting sudo: unable to initialize policy plugin
我应该去阁楼拿盒子试试吗pkexec visudo
,还是这里还有别的问题?
答案1
我也遇到了这个问题,经过一番挖掘,找到了一个可行的解决方案。原始解决方案来自NixOS 的这个 github 问题作者:EstalillaJ。
打开两个与目标服务器的 ssh 会话。
在第一个会话中,通过运行以下命令获取 bash 的 PID:
echo $$
在第二个会话中,使用以下命令启动身份验证代理:
pkttyagent --process (pid from step 2)
回到第一个会话,运行:
pkexec visudo
在第二个会话中,您将获得密码提示。visudo 将在第一个会话中启动。
答案2
我的回答基于 Satyen 的
已在 Debian 10.4 上测试没有运行 visudo 的能力
打开两个与目标服务器的 ssh 会话。
在第一个会话中,通过运行以下命令获取 bash 的 PID:
echo $$
在第二个会话中,使用以下命令启动身份验证代理:
pkttyagent --process (pid from step 2)
回到第一个会话,运行:
pkexec su
在第二个会话中,您将获得密码提示。su 将在第一个会话中启动。
编辑 /etc/sudoers (CTRL+S 保存编辑,CTRL+X 退出)
nano /etc/sudoers