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 chown
comando con il -R
flag 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).
sudo
non 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.so
back in root
(ovvero, uid 0):
pkexec chown root /usr/lib/sudo/sudoers.so
Quindi prova a utilizzare di sudo
nuovo. Puoi eseguire qualcosa di banale come e vedere se ricevi un messaggio di errore.sudo ls
Infine, ti consiglio di correre history
per rivelare tutti i comandi che hai eseguito. Spero che elencherà tutti i comandi che hai eseguito che hanno cambiato le autorizzazioni. Supponendo che sudo
ora 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 pkexec
non funziona neanche ...
Hai provato pkexec
e non ha funzionato. Poiché né sudo
né 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 mount
comando, esegui di chown
nuovo il comando sopra e vedi se funziona.
Una volta terminato in modalità di ripristino è possibile riavviare eseguendo:
reboot
sudo
dovrebbe 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 sudo
lavorare è un primo passo. Spero che la tecnica sopra ti permetta di farlo.
pkexec
comando?