/ etc / sudoersファイルが破損していて、SSH経由で 'pkexec visudo'を実行できない


14

ここの指示に従って私は得る:

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ますか、それともここで何か間違っていますか?


AFAIK pkexecは、これをローカルユーザー(SSHリモートユーザーではなく)に対してのみ許可します
そうはい

ボックスを入手するか、ドライブを入手して別のコンピューターにマウントし、必要に応じて編集sudoersします。最も簡単なものに依存します。
vidarlo

@steeldriverItそれはリモートユーザーとして私にちょうど働きました。JFYI。
php-coder

回答:


44

私もこの問題に出くわし、いくつか掘り下げて、実用的なソリューションを見つけました。元の解決策は、NestOSのこのgithubの問題によるEstalillaJによるものです。

  1. ターゲットサーバーへの2つのSSHセッションを開きます。
  2. 最初のセッションで、以下を実行してbashのPIDを取得します。

    echo $$

  3. 2番目のセッションで、次のコマンドを使用して認証エージェントを開始します。

    pkttyagent --process (pid from step 2)

  4. 最初のセッションに戻り、以下を実行します。

    pkexec visudo

  5. 2番目のセッションでは、パスワードプロンプトが表示されます。visudoは最初のセッションで開始されます。


5
なんてこった、私の命を救った!thx:D
ロジャーバレット

1
それはクレイジーです、それは完璧に働きます!システムを再起動する必要はありません
undefinedman

1
トンのおかげで、これは本当に私を救った!⭑
フレデリック

1
私のa **をサーバーを再起動して回復することから救った、たくさんの歓声!
SergeantSerk

1
それはただ驚くべき男です!私も好きな答えが欲しいと思います!
エイドリアン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.