Come faccio a chiedere a sudo la password di root?


25

Quando corro sudocome un normale utente non privilegiato, mi chiede la mia password, non la password di root. Questo è spesso conveniente, ma riduce la quantità di informazioni che qualcuno dovrebbe avere per eseguire i comandi come root. Quindi, come posso sudochiedere la password di root invece della password dell'utente che ha invocato?

So che sarebbe stato fatto con una riga in /etc/sudoers, ma non riesco mai ad analizzare correttamente la grammatica BNF nella pagina man per capire esattamente cosa scrivere.


Ti consiglio di limitare i comandi consentiti come utente non root in modo da non doverti preoccupare di esporre comandi arbitrari.
Slartibartfast,

@slartibartfast: ma poi cosa succede quando devo eseguire un comando come root che non è nell'elenco preapprovato?
David Z,

Risposte:


25

Ok, eccolo di nuovo in modo da poter impostare il segno di spunta.

In /etc/sudoers, aggiungi questa riga:

Defaults rootpw

per attivare il flag rootpw, facendo sudo chiedere la password di root.


7
Dovresti sempre usare il visudocomando invece di modificare manualmente il /etc/sudoersfile. visudoconvalida il file per assicurarsi che sia corretto prima di salvarlo, quindi non verrai bloccato da sudo se commetti
Colin D Bennett

5

Devi attivare la rootpwbandiera.


Come ho detto, non sono stato in grado di elaborare la notazione BNF nella pagina man - quindi quale riga inserirò /etc/sudoersper abilitare questo flag?
David Z,

2
Predefiniti rootpw
Florian Diesch,

@Florian: whaddya lo so, è così facile :-) Se lo pubblichi come risposta ottieni il segno di spunta.
David Z,

3

So che questa domanda è vecchia, ma è la domanda più concisa che ho trovato per questo caso d'uso (che è una percentuale minore, vera, ma comunque legittima e utile nel giusto scenario).

Dopo aver messo insieme tutti i passaggi da varie fonti, comprese le risposte multiple a questa domanda, questi passaggi funzionano su Ubuntu-Gnome 16.04 LTS:

  1. Imposta una password per root
    • Questo è CRITICO da PRIMA ! (Ubuntu non ha automaticamente password per l'utente ROOT a causa della configurazione di sicurezza standard.
    • Se non lo fai prima, ti impedirai di accedere ai privilegi di root. Questo può essere superato avviando con un Live Disk, montando il disco rigido e modificando il file sudoers, ma è meglio evitarlo.
    • Apri un terminale e inserisci: sudo passwd
    • Imposta la tua nuova password per l'utente ROOT.
  2. Modificare la configurazione SUDO per richiedere la password di root
    • SUDO richiede che l'utente richieda i privilegi di root
    • L'impostazione del flag "rootpw" indica invece a SUDO di richiedere la password per l'utente root.
    • Apri un terminale e inserisci: sudo visudo
    • Questo aprirà il file "/ etc / sudoers"
    • Dopo l'altra riga "Predefiniti", aggiungi: Defaults rootpw
    • Salvalo (supponendo che tu sia in nano, che è l'impostazione predefinita, questo è CTRL + O)
    • Chiudi il file (CTRL + X) ed esci dal terminale
  3. Hai finito!

Solo una breve nota: volevo anche assicurarmi che l'utente root non potesse essere usato per accedere dall'accesso grafico e quindi cercavo i modi per escluderlo. Apparentemente, l'utente root è escluso per impostazione predefinita e non può essere utilizzato per accedere tramite l'accesso grafico di Gnome, il che è un'ottima cosa!


Potresti suggerire miglioramenti per invertire un downvote?
SRDC,

Non sembra essere sbagliato.
Ruslan

1
Forse perché una semplice (e funzionante) configurazione di: root ALL=(ALL) ALL Defaults targetpw ALL ALL=(ALL) ALL consente root sudo per ogni utente che conosce la password di root. La modifica ingenua delle ultime due righe alla soluzione Defaults rootpwprovoca un blocco da sudo. Devi anche aggiungere il tuo utente in questo sudoersmodo: myusername ALL=(ALL) ALLo dare privilegi simili a un gruppo e quindi aggiungere myusernamea quel gruppo.
Paul Parker,

1

Una configurazione comune che richiede la password del target (non quello che vogliamo):

Defaults targetpw
ALL ALL=(ALL) ALL

La seconda riga verrebbe letta ad alta voce come: "TUTTI gli utenti su TUTTI gli host possono impersonare (TUTTI) gli utenti quando eseguono TUTTI i comandi". e i Defaults targetpwmezzi che devono conoscere la password dell'utente che stanno impersonando per farlo.

Cambiando ingenuamente questa semplice configurazione in:

Defaults rootpw

non lascerebbe alcun utente o gruppo con il privilegio di eseguire comandi come un altro utente.

Una possibilità di lavoro sarebbe:

Defaults rootpw
myuser ALL=(ALL) ALL

In parole povere, myuserora ha la possibilità di eseguire TUTTI i comandi come qualsiasi utente su TUTTI gli host, purché sia ​​nota la password di root.

Un'altra possibilità di lavoro sarebbe:

Defaults rootpw
%sudousers ALL=(ALL) ALL

Qualsiasi membro del sudousersgruppo avrà la possibilità di eseguire TUTTI i comandi come qualsiasi utente su TUTTI gli host, purché sia ​​nota la password di root. Per consentire myuserl'esecuzione dei comandi sudo, sudousersdovrebbe essere aggiunto ai suoi gruppi secondari.

su
usermod -a -G sudousers myuser
exit

Ottima spiegazione Più dettagliato di quello che ho pubblicato passo dopo passo (che ha funzionato sulla base delle impostazioni predefinite di Ubuntu).
SRDC

0

Potresti semplicemente disattivare sudo e utilizzare su -c.


Inconveniente perché devo inserire la mia password ogni volta che la eseguo. Il caso d'uso qui è dover eseguire più comandi come root in rapida successione.
David Z,

-1

utilizzando

sudo su

ti consentirà di eseguire tutti i comandi che desideri in successione.


2
Buona idea, ma a meno che non cambi sudoa richiedere la password di root, ciò consentirebbe comunque a qualcuno di ottenere l'accesso di root presentando una sola password (non quella di root). Quindi non risolve davvero il problema di sicurezza che ha suscitato la mia domanda.
David Z,

Invece di utilizzare la capacità di sudo per limitare l'accesso da parte dell'utente, stai esponendo la tua password di root a un numero di utenti. Stai anche rimuovendo la capacità di proteggere il tuo server rimuovendo la password dalla radice.
BillThor,
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.