/ etc / sudoers tệp bị hỏng và tôi không thể chạy 'pkexec visudo' qua SSH


14

Theo hướng dẫn ở đây tôi nhận được:

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.

Tôi đang làm điều này thông qua ssh vì hộp tôi đang làm điều này được sử dụng như một máy chủ âm nhạc không có màn hình và khá khó tiếp cận. Điều này xảy ra khi tôi nâng cấp từ Ubuntu 14.04 lên 16.04. Tôi đã cố gắng sao chép tệp sudoers từ một bản cài đặt 16.04 gần đây, nhưng tôi không thể làm điều đó vì tệp 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

Tôi có nên đi lấy cái hộp từ gác mái và thử pkexec visudohay có điều gì khác ở đây không?


AFAIK pkexecchỉ cho phép điều này đối với người dùng cục bộ (không phải người dùng từ xa SSH) - vì vậy, nó phải hoạt động từ gác mái
Steeldo

Hoặc lấy hộp, hoặc lấy ổ đĩa, gắn nó vào một máy tính khác và chỉnh sửa sudoerscho phù hợp. Phụ thuộc vào những gì dễ dàng nhất.
vidarlo

@steeldoIt Nó chỉ làm việc với tôi như một người dùng từ xa. JFYI.
Bộ mã hóa php

Câu trả lời:


43

Tôi cũng gặp phải vấn đề này và với một số hoạt động đào, đã tìm ra giải pháp hiệu quả. Giải pháp ban đầu là từ vấn đề github này cho NixOS của EstalillaJ.

  1. Mở hai phiên ssh đến máy chủ đích.
  2. Trong phiên đầu tiên, hãy lấy PID của bash bằng cách chạy:

    echo $$

  3. Trong phiên thứ hai, bắt đầu tác nhân xác thực với:

    pkttyagent --process (pid from step 2)

  4. Quay lại phiên đầu tiên, chạy:

    pkexec visudo

  5. Trong phiên thứ hai, bạn sẽ nhận được lời nhắc mật khẩu. Visudo sẽ bắt đầu trong phiên đầu tiên.


4
Chúa ơi, anh đã cứu mạng tôi! thx: D
Roger Barretto

Thật là điên rồ, nó hoạt động hoàn hảo! và không cần phải khởi động lại hệ thống
không xác định

Cảm ơn rất nhiều, điều này thực sự đã cứu tôi! ⭑
Frederic

Điều gì xảy ra nếu tôi sử dụng người dùng không sudo
sachin_ur

Trong phiên thứ hai, bạn không thể nhập đơn giản pkttyagent --process $$thay vì sao chép ID tiến trình từ phiên đầu tiên?
IkWeetHetOokNiet
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.