Mengikuti instruksi di sini yang saya dapat:
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.
Saya melakukan ini melalui ssh karena kotak saya melakukan ini digunakan sebagai server musik tanpa layar dan agak tidak dapat diakses. Ini terjadi ketika saya memutakhirkan dari Ubuntu 14.04 ke 16.04. Saya mencoba menyalin file sudoers dari instalasi 16.04 baru-baru ini, tetapi saya tidak dapat melakukannya karena file 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
Haruskah saya mengambil kotak itu dari loteng dan mencoba pkexec visudo
atau ada sesuatu yang salah di sini?
pkexec
hanya mengizinkan ini untuk pengguna lokal (bukan pengguna jarak jauh SSH) - jadi ya itu harus bekerja dari lotengsudoers
sesuai. Tergantung pada apa yang termudah.Jawaban:
Saya mengalami masalah ini juga dan dengan beberapa penggalian, menemukan solusi yang berfungsi. Solusi asli dari masalah github ini untuk NixOS oleh EstalillaJ.
Di sesi pertama, dapatkan PID bash dengan menjalankan:
echo $$
Di sesi kedua, mulai agen otentikasi dengan:
pkttyagent --process (pid from step 2)
Kembali di sesi pertama, jalankan:
pkexec visudo
Di sesi kedua, Anda akan mendapatkan prompt kata sandi. visudo akan dimulai pada sesi pertama.
sumber