Come configurare `sudo` senza password su Linux?


157

Come si può sudoimpostare l'accesso senza password su RHEL (Fedora, CentOS, ecc.) O sulle distribuzioni Ubuntu? (Se è lo stesso in tutte le distribuzioni, è ancora meglio!)

Impostazione: attrezzature personali e / o di laboratorio / di formazione senza preoccupazioni per l'accesso non autorizzato (ovvero, i dispositivi sono su reti non pubbliche e tutti / tutti gli utenti sono completamente fidati e il contenuto dei dispositivi è "semplice-vaniglia") .


1
La risposta di @Richipal è actullay quella che funziona meglio con il minimo sforzo: sembra che le regole sudoers si applichino in ordine inverso.
a1an

2
Le regole @ a1an vengono applicate nello stesso ordine elencato nel file sudoers e quando vengono applicate si sovrascrivono a vicenda. Quindi, se non voglio che una regola cambi, la metterei alla fine del file in modo che venga applicata alla fine e non possa essere ignorata.
rsjethani,

Risposte:


173

MODIFICA grazie al commento di medina: secondo la pagina man, dovresti essere in grado di scrivere

ALL            ALL = (ALL) NOPASSWD: ALL

per consentire a tutti gli utenti di eseguire tutti i comandi senza password.


Per riferimento, sto lasciando la mia risposta precedente:

Se aggiungi una riga del modulo

%wheel         ALL = (ALL) NOPASSWD: ALL

a /etc/sudoers(usando il visudocomando, ovviamente), consentirà a tutti nel gruppo di wheeleseguire qualsiasi comando senza fornire una password. Quindi penso che la soluzione migliore sia mettere tutti i tuoi utenti in un gruppo e inserire una linea del genere sudoers- ovviamente dovresti sostituirlo wheelcon il gruppo reale che usi.

In alternativa, puoi definire un alias utente,

User_Alias     EVERYONE = user1, user2, user3, ...

e usa quello:

EVERYONE       ALL = (ALL) NOPASSWD: ALL

anche se dovresti aggiornare /etc/sudoersogni volta che aggiungi o rimuovi un utente.


2
Non ALLfunziona piuttosto che *specificare tutti gli utenti? Vedi l'esempio in sudoers(5).
medina,

1
@medina: così succede, quando l'ho letto nella pagina man mi mancava. Lo modificherò.
David Z,

6
sotto Ubuntu, creando un file in /etc/sudoers.d e inserendo queste voci in esso, si eviterà di dover modificare i sudoers
Xetius,

1
In CentOS7, questa voce è lì per impostazione predefinita, appena commentata.
killjoy,

1
Riuscito a utilizzarlo solo in centOS tramite copia / incolla, non è riuscito a tentare di digitare direttamente la configurazione. Ma il risultato sembra identico ad eccezione degli spazi ...
MUY Belgio,

97

Ho provato le soluzioni sopra senza alcun risultato. La seguente soluzione ha funzionato per me Modifica il file / etc / sudoers e aggiungi la seguente riga

username ALL=(ALL) NOPASSWD: ALL

La chiave è aggiungerlo dopo l'ultima riga che dice

#includedir /etc/sudoers.d

1
//, Questo sembra il modo migliore per farlo, specialmente quando alcune applicazioni aggiungeranno le proprie regole per gli utenti di sistema, Richipal. Maggiori informazioni su sudoers.d: sudo.ws/man/1.8.13/sudoers.man.html
Nathan Basanese

1
//, Saresti disposto ad aggiungere alcune delle diagnosi di Gearoid Murphy alla tua risposta?
Nathan Basanese,

1
Grazie per questo chiarimento. Aggiungerlo dopo la riga #includedir /etc/sudoers.d sembra importante in CentOS 7, mentre sembra funzionare bene per avere la riga precedente nel file in CentOS 6.
dmohr

3
Il problema con l'ignorare NOPASSWD di% wheel sembra derivare dalla /etc/sudoers.d/USERNAMEsostituzione dell'autorizzazione NOPASSWD del gruppo. L'applicazione di NOPASSWD /etc/sudoers.d/USERNAMErisolve il problema.
anguilla ghEEz

1
Big up a questo, dopo l'inclusione è importante
Theodore Howell

27

Ho provato tutte le risposte in questa pagina, senza risultati utili. Alla fine l'ho capito, usa questo comando per elencare i tuoi diritti sudo:

sudo -l

Questo dovrebbe darti un output come questo:

User gmurphy may run the following commands on this host:
    (root) NOPASSWD: ALL
    (ALL) ALL

Mostra che sono configurato con i privilegi di root ma che faccio ancora parte di un gruppo (admin) abbinato a una regola sudo che prevede la password ("(TUTTI) TUTTI"). Ciò stava costringendo Sudo a suggerirmi. La regola in questione era gli utenti admin:

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

Una volta commentato, sono stato in grado di eseguire sudo senza password. Spero che questo sia utile a qualcun altro.


1
Ah, grazie! Questo mi stava facendo impazzire ... nel mio caso, il mio utente faceva parte del gruppo "sudo" e di "admin" (che ho creato), e le autorizzazioni per ciascuno di essi erano errate, come nel tuo caso . Ora questa roba funziona! :)
neezer,

14
Commentare una linea è uno strumento contundente. Potresti essere interessato a sapere che "sudo legge il file sudoers e applica le autorizzazioni dall'alto verso il basso. Quindi l'ultima riga nel file sovrascriverà qualsiasi conflitto precedente" secondo ubuntuforums.org/showthread.php?t=1132821 - - e questo ha funzionato per me.
David J.

10

All'interno /etc/sudoersc'è un esempio di questo verso la fine del file:

## Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL

2
quel campione non era nel mio - ma grazie!
Warren,

1
Come la tua risposta concisa
Mr. Pei,

6

C'è un altro modo per farlo senza toccare il file sudoers.

  • Modifica /etc/pam.d/sue decommenta la riga seguente:

    auth           sufficient      pam_wheel.so trust use_uid
    
  • Aggiungi l'utente al wheelgruppo.


2

C'è un altro modo per farlo senza toccare il file sudoers.

  • Modifica /etc/pam.d/sudoe aggiungi la riga seguente:

    autenticazione sufficiente pam_wheel.so trust use_uid
  • Aggiungi l'utente al wheelgruppo.

Puntelli a "topdog" e "Daniel Serodio" per la risposta originale riguardo a "su" piuttosto che a "sudo". L'ho usato come riferimento e ho copiato e modificato spudoratamente il loro post.


1
Penso che invece di copiare alla lettera, sarebbe meglio accreditarli, ma sii chiaro su come differiscono esattamente le tue risposte. Presumo che ciò consenta l'archiviazione senza password su, anziché / e senza password sudo? L'aggiunta di Daniel è solo la formattazione, comunque.
mwfearnley,
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.