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.