‘sudo’ non funziona dopo aver cambiato i permessi della directory ‘/ usr’

Recentemente ho dovuto cambiare i permessi della cartella della cartella /usr . Ora l’intero sudo non funziona. Se provo ad aggiornare il mio sistema usando questo comando:

 sudo apt-get update 

Ottengo il seguente messaggio:

 sudo: /usr/lib/sudo/sudoers.so must be only be writable by owner sudo: fatal error, unable to load plugins 

Così ho provato a cambiare i permessi della cartella aprendo Nautilus come root usando questo comando

 gksudo nautilus 

Ma non è successo niente. Nautilus non si è aperto. Questa è un’emergenza poiché l’intero sudo non funziona. quando ho provato a cercare la soluzione da Google molti hanno suggerito la reinstallazione. Non preferisco la reinstallazione. quindi c’è qualche altra soluzione?

Ci sono in realtà due meccanismi impostati in Ubuntu per l’esecuzione di attività amministrative. sudo è uno di questi, e questo e i suoi frontend grafici (come gksu e gksudo ) non funzioneranno finché non risolverai il problema dei permessi.

L’altro meccanismo è PolicyKit . A seconda esattamente di quello che hai fatto alle autorizzazioni del tuo file, è probabile che tu possa ancora recuperare usando PolicyKit per eseguire comandi come root .

Il comando pkexec eseguirà qualsiasi comando (non grafico) come root (a condizione che l’utente che lo ha richiamato sia un amministratore del sistema). pkexec è anche in grado di eseguire comandi grafici (come nautilus ) come root , ma non è banale, dato che devi configurare i file di configurazione per loro che descrivono come devono essere eseguiti e cosa dovrebbero essere autorizzati a fare . Pertanto, è meglio usare la riga di comando per risolvere questo problema … almeno fino al punto in cui sudo funziona di nuovo. (Quindi è ansible eseguire gksu nautilus per ottenere un browser di file di root , se si è più comodo utilizzarlo per modificare ricorsivamente i permessi dei file.)

Non so esattamente cosa hai fatto alle tue autorizzazioni, quindi è difficile per me darti un comando pkexec specifico da eseguire, per risolvere il problema. Ma puoi correggere il problema specifico di cui sudo sta attualmente lamentando. Dice:

 sudo: /usr/lib/sudo/sudoers.so must be only be writable by owner 

Quindi rimuovere il group e le other autorizzazioni di scrittura (senza modificare le autorizzazioni di scrittura del owner ) per quel file:

 pkexec chmod go-w /usr/lib/sudo/sudoers.so 

Quindi puoi vedere se sudo funziona (eseguendo qualche comando innocuo come sudo ls ).

Se è necessario eseguire altre operazioni sui permessi dei file dalla riga di comando con chmod , consultare man chmod .

(A proposito, ecco un’altra situazione correlata in cui è utile conoscere pkexec .)

Se hai problemi a far funzionare pkexec , ti preghiamo di commentare qui, e proverò a fornire ulteriore assistenza. Ma dovresti sapere che anche se questo metodo non funziona, non dovresti reinstallare Ubuntu.

Invece, puoi risolvere il problema da un live CD / DVD di Ubuntu o dal sistema USB live, perché il sistema live funzionerà … sudo funzionerà su di esso – e potrai montare la tua partizione Ubuntu e cambiare i permessi in questo modo.

O come terza opzione (come suggerito da forestpiskie ) , è ansible utilizzare la modalità di ripristino .

Vorrei provare a fare il boot in modalità di ripristino e impostare le autorizzazioni su ciò che erano.

Riavvio: scegli il secondo elemento dal menu per accedere alla modalità di ripristino.

di recente ho dovuto modificare i permessi della cartella della cartella / usr

Cosa ti ha chiesto di cambiare i permessi di tutta la cartella / usr?

installare utenti e gruppi utilizzando questo
vai a Gestisci gruppi
e ti aggiungo al gruppo sudo