sudo: /usr/lib/sudo/sudoers.so deve essere di proprietà di uid 0


10

Ogni volta che provo a fare qualsiasi cosa che richieda la mia password restituisce questo:

u7ur7l3@ubuntu:~$ sudo
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0
sudo: fatal error, unable to load plugins
u7ur7l3@ubuntu:~$

Quindi non posso installare nulla dal Software Center / gestore pacchetti o eseguire comandi nel terminale che richiedono la mia password. Posso accedere, ma è praticamente tutto.

Ho modificato accidentalmente le autorizzazioni di alcuni file, quindi ne ho cambiate altre cercando di risolverlo: /. Ora sono completamente perso su cosa fare.

Questo è quello che è successo quando ho provato a far funzionare di nuovo sudo usando pkexec:

u7ur7l3@ubuntu:~$ pkexec chown root /usr/lib/sudo/sudoers.so
Error getting authority: Error initializing authority: Error calling StartServiceByName for org.freedesktop.PolicyKit1: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ExecFailed: Failed to execute program /usr/lib/dbus-1.0/dbus-daemon-launch-helper: Success 

u7ur7l3@ubuntu:~$ sudo ls
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0 sudo: fatal error, unable to load plugins

E per cambiare i permessi stavo usando Root Actions come un servizio / plug-in Dolphin, quindi la cronologia non mi mostra le modifiche ai permessi.

Ho appena capito che i suoni non funzionano più. Quando entro in Phonon le mie impostazioni predefinite e i dispositivi di riproduzione non sono nemmeno lì. Inoltre non ho la possibilità di chiudere, posso solo disconnettermi o uscire.


Il problema di audio e spegnimento è nuovo da quando hai eseguito il pkexeccomando?
Eliah Kagan,

@Eliah Kagan, no ho capito il problema audio proprio quando ho effettuato l'accesso al mio computer, e ho capito il problema di spegnimento quando stavo spegnendo il computer ieri sera. Ho finito semplicemente tenendo premuto il pulsante di accensione.
7UR7L3,

Ho ampliato la mia risposta per fornire istruzioni che dovrebbero funzionare anche se né sudoe PolicyKit (via pkexec) funzionano.
Eliah Kagan,

2
su root chown -R root: root / usr / lib /

Risposte:


20

La proprietà di almeno uno dei tuoi file di sistema importanti è errata. Questa è una brutta cosa; se questo è successo a molti file di sistema (forse hai eseguito un grosso sudo chowncomando con il -Rflag ad un certo punto?), potrebbe causare una serie di altri errori di sistema e instabilità. Quindi, se hai recentemente installato Ubuntu , potresti voler reinstallare come suggerisce Adam Heathcote .

Ma non è necessario reinstallare per risolvere questo problema . Invece, basta correggere la proprietà su quel file. Se dopo ricevi errori su altri file, puoi anche correggerli (anche se potresti doverci dire quali sono i messaggi di errore, quindi possiamo dirti come risolverli anche).

sudonon funziona, ma l' utilizzosudo è uno dei due modi in cui gli amministratori possono eseguire azioni come root su Ubuntu. L'altro è Polkit (che un tempo si chiamava PolicyKit).

Esegui questo comando, che utilizza Polkit (via pkexec) per modificare la proprietà di /usr/lib/sudo/sudoers.soback in root(ovvero, uid 0):

pkexec chown root /usr/lib/sudo/sudoers.so

Quindi prova a utilizzare di sudonuovo. Puoi eseguire qualcosa di banale come e vedere se ricevi un messaggio di errore.sudo ls

Infine, ti consiglio di correre historyper rivelare tutti i comandi che hai eseguito. Spero che elencherà tutti i comandi che hai eseguito che hanno cambiato le autorizzazioni. Supponendo che sudoora funzioni , ti consiglio di pubblicare una nuova domanda, incluso l'output di history, per ottenere assistenza per annullare tutte le modifiche alla proprietà dei file e alle autorizzazioni che hai apportato.

Se pkexecnon funziona neanche ...

Hai provato pkexece non ha funzionato. Poiché né sudoné Polkit funziona per consentirti di eseguire azioni come root, dovrai avviare la modalità di ripristino e ottenere una shell di root. Per fare ciò, tieni premuto Shiftdurante l'avvio del tuo computer, per assicurarti di avere un menu di avvio GRUB visibile. Seleziona una voce che contiene la modalità di recupero delle parole (in genere, dovresti selezionare quella più vicina all'inizio con quelle parole). Quindi otterrai un menu in cui hai una serie di opzioni: seleziona l'opzione da rilasciare in una shell di root.

Istruzioni dettagliate sull'accesso a una shell di root in modalità di ripristino sono disponibili qui:

Una volta che hai una shell di root, esegui:

chown root /usr/lib/sudo/sudoers.so

Se viene visualizzato un errore relativo alla modifica del file o del file system, rimontarlo in lettura e scrittura:

mount -rw -o remount /

(Fonte dell'idea di rimontaggio e come farlo: questa risposta per lo più non correlata .)

Quindi dopo aver eseguito quel mountcomando, esegui di chownnuovo il comando sopra e vedi se funziona.

Una volta terminato in modalità di ripristino è possibile riavviare eseguendo:

reboot

sudodovrebbe quindi funzionare, o almeno dare qualche altro errore.

Infine, tieni presente che, dati gli errori che hai mostrato, è probabile che molti file ora abbiano la proprietà o le autorizzazioni sbagliate. Sarebbe l'ideale se potessi capire quali file hai modificato in questo modo. Ad esempio, se riuscissi a capire che erano tutti i file in un paio di cartelle specifiche, potrebbe essere possibile correggere la portata completa dei recenti problemi che hai riscontrato.

La reinstallazione è sicuramente un'opzione, ma soprattutto se tutto ciò che hai cambiato era la proprietà (e non le autorizzazioni, che sono un po 'più difficili da ricostruire in quanto variano di più), dovrebbe essere possibile semplicemente ripristinare le autorizzazioni ricorsivamente ai loro proprietari originali (probabilmente di solito root ) e invertire completamente il danno.

Tornare a sudolavorare è un primo passo. Spero che la tecnica sopra ti permetta di farlo.


Ho seguito quelle istruzioni ma quando sono tornato su kubuntu al problema esistevano ancora. Stesso errore A questo punto è probabilmente più semplice reinstallare. : /
7UR7L3

Inoltre, c'è un modo per fare qualcosa del genere: askubuntu.com/questions/9135/… per salvare tutto? Il tutto insieme come uno script pseudo-bash non funzionerà perché sudo è coinvolto così ....
7UR7L3

@ 7UR7L3 Verrà eseguito il backup delle informazioni su quali pacchetti sono installati e la maggior parte delle informazioni sulle impostazioni di sistema dei programmi. In combinazione con un backup completo della tua home directory, ciò dovrebbe consentire di ripristinare le cose per lo più nel modo in cui erano, dopo aver rimosso il sistema esistente e averne installato uno nuovo, sì. Assicurati di avere sempre un backup di tutti i file veramente importanti (come i tuoi documenti). Se ritieni di aver bisogno di ulteriori informazioni su quella tecnica applicata alla tua situazione, ti suggerisco di pubblicare una nuova domanda (ma non mi dispiace se lo fai nei commenti qui).
Eliah Kagan,

C'è un buon modo per fare tutto questo? Ho un disco esterno da 1 TB su cui posso eseguire il backup di roba, ma non appare da nessuna parte quando lo collego. È acceso per mostrare che funziona ma nulla sullo schermo sta cambiando e non è da nessuna parte in Dolphin . Quindi, una volta che riesco a farlo, come devo fare per salvare tutto su di esso. Nel gestore dei pacchetti ho potuto salvare i pacchetti installati in un documento di testo, ma è davvero tutto ciò che ho pensato di fare per salvare le informazioni. Praticamente tutte le altre soluzioni prevedono sudo che ancora non funzionerà.
7UR7L3,

@ 7UR7L3 Per il backup dei file? Avvio da un CD / DVD live o USB live. È possibile accedere ai file da lì e eseguirne il backup sull'unità esterna. Se anche il tuo disco esterno non appare nel sistema live, allora questo è un problema completamente separato con il quale potrei non essere in grado di aiutarti e quasi certamente non potrei rientrare nei confini dei commenti. Quindi, se ciò accade, ti consiglio di pubblicare una nuova domanda. Se commenti qui con un link alla nuova domanda, mi assicurerò di guardarla e di contribuire se posso.
Eliah Kagan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.