File sudoers modificato e impossibile aprirlo più; impossibile aprire alcun file usando root


8

Ho modificato le impostazioni nel file sudoers utilizzando

sudo visudo 

e incasinato. Ora quando provo a farlo di nuovo o apro qualsiasi file usando sudo, non riesco più ad aprirlo e ricevo questo messaggio di errore:

>>> file sudoers: errore di sintassi, riga 7 

E adesso?

Esiste un modo per uscire da questo problema (per ripristinare le impostazioni) o devo installare una nuova copia di Linux?

La ragione per cui ho ottenuto tutto questo è che ho premuto "Q" mentre mi diceva che c'era un errore, che è stato molto stupido da parte mia.

Grazie.

MODIFICARE

Il mio file sudoers non è diverso dal normale file sudoers. Ho appena aggiunto timestamp_timeout = 0 riga in quel file e tutti questi problemi sono sorti. Ho fatto ciò che James ha suggerito e ho persino rimosso quella riga (timestamp_timeout = 0). Ho cambiato il permesso del file in 0440 che mi ha richiesto, e poi ho avviato normalmente. Quindi, ricevo lo stesso messaggio di errore

sudoers file: syntax error, line 7 
sudo: parse error in /etc/sudoers near line 7
come sopra.

Cosa dovrei fare ora ??

EDIT 2 Risolto

Questo è quello che ho fatto:

  1. Avvio tramite livecd
  2. Rimuovi il vecchio file sudoers
  3. Ho creato un nuovo file sudoers e copiato tutto su quel file, ad esempio le impostazioni minime di configurazione, che fortunatamente avevo salvato in un altro file
  4. Autorizzazione file modificata in 0440
  5. Riavvia di nuovo normalmente dal disco rigido

Evviva !!


potresti incollare il contenuto del tuo file sudoers su www.pastebin.com e darci un'occhiata, probabilmente il modo più veloce.
Andrioid,

Vorrei cercare # dispersi sui commenti, due punti, segni di uguale backslash di continuazione di riga, ecc mancante
in pausa fino a nuovo avviso.

Risposte:


8

Supponendo che non sia stata fornita una password all'utente root, il modo più semplice per risolverlo è con un cd live come Knoppix . Avvio del CD. Montare il disco locale, modificare il file, smontare il disco e riavviare.


6

Semplice, avvia il computer in " modalità utente singolo " procedendo come segue:

  1. Reboot
  2. All'avvio di Grub, premere ESC (o Esc)
  3. Premi 'e' per modificare la riga corrente
  4. Aggiungi 'single' alla fine della riga contenente 'linux'
  5. Avvio (premere b)

Ciò avvierà il computer con un solo utente, root. Da lì seguire questi passaggi:

  1. / usr / bin / vim / etc / sudoers (o usa nano, potrebbe essere più facile per te) per risolvere il problema
  2. Se non sei sicuro del problema, prova a copiare l'esempio incluso di sudoer da "/ usr / share / doc / sudo / esempi" (varia) e ovviamente aggiungi il tuo utente lì.
  3. Salva il file, esci da Vim
  4. Riavvia, divertiti!

Mi chiedevo quando chiedesse una password prima di dare alla shell utente singolo?
James,

Questo metodo non funziona per tutte le distro. Dal momento che è una backdoor ben nota, alcune distro impongono un login prima di arrivare a un prompt di root. Sembra che sia il tuo caso, James.
Telemaco,

Non sapevo che le distro avessero iniziato a farlo, ha sempre funzionato per me nei bei vecchi tempi di Slackware
Andrioid,

Dovresti raccomandare l'uso di visudo su vim: en.wikipedia.org/wiki/Visudo

3

L'idea di James di usare un cd live (supponendo che l'account root non sia abilitato) è valida. Aggiungerei alcuni punti.

  • Innanzitutto, potresti essere fortunato e un backup del file / etc / sudoers è stato salvato automaticamente durante la modifica. Controlla / etc per un file che assomigli a questo sudoers~ (puoi cdfarlo in quella directory ed eseguire ls -A senza i privilegi di root, anche se non puoi leggere o modificare i file come un utente normale) .Alcuni editor creeranno tale backup se non del tutto possibile, quindi potresti averne uno senza averlo creato esplicitamente.
  • In secondo luogo, se non hai idea di come modificare il file, potresti considerare di pubblicarlo (o l'area intorno alla linea 7) qui o altrove. Sebbene il file stesso abbia a che fare con la sicurezza, non ci sono password, quindi non c'è alcun danno immediato nel pubblicarlo.
  • Infine, nota che un messaggio di errore come quello che hai visto non significa necessariamente che il problema stesso sia letteralmente sulla linea 7. L'errore potrebbe essere sulla linea 4, ma è stato eliminato solo, per così dire, sulla linea 7.

0

Prova a premere e, per modificarlo. Ciò dovrebbe consentire di modificare il file e correggere gli errori.


Premendo 'e' quando ti viene mostrato l'errore, dopo aver terminato la modifica, tornerai indietro in modo da poter correggere gli errori. Sfortunatamente non te lo dice esplicitamente.

0

Per quelli di noi che non dispongono di una console o dell'accesso locale al server per avviare il livello di esecuzione 1 o hanno il root set (o le credenziali / certificati disponibili), utilizzare pkexec visudo o pkexec vi / etc / sudoers, visudo è meglio come fa il controllo degli errori sul file.


Ma come fai pkexeca fare le tue offerte se non conosci la password di root?
Scott,
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.