Configurare sudo senza password su distribuzioni Linux


18

Di recente ho installato entrambi i sistemi Fedora 28 e Ubuntu 18.04 e vorrei configurare il mio account utente principale su entrambi in modo da poter eseguire i sudocomandi senza che mi venga richiesta una password.

Come posso farlo sui rispettivi sistemi?

Risposte:


28

Questo è piuttosto banale se si utilizza lo speciale gruppo Unix chiamato wheelsui sistemi Fedora. Devi semplicemente fare quanto segue:

  1. Aggiungi il tuo utente principale al wheelgruppo

    $ sudo gpasswd -a <primary account> wheel
    
  2. Abilita NOPASSWD per il %wheelgruppo in/etc/sudoers

    $ sudo visudo
    

    Quindi commenta questa riga:

    ## Allows people in group wheel to run all commands
    # %wheel        ALL=(ALL)       ALL
    

    E decommenta questa riga:

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

    Salva questo file con Shift+ Z+ Z.

  3. Disconnettersi e riconnettersi

    NOTA: questo ultimo passaggio è obbligatorio in modo che il desktop e tutte le corrispondenti shell di livello superiore vengano rieseguiti, dimostrando che il tuo account principale è ora un membro del wheelgruppo Unix.


Cosa cambierebbe se invece di wheelutilizzare qualsiasi altro gruppo?
Giacomo Alzetta,

@GiacomoAlzetta Passa %wheela quel gruppo.
Barmar,

19

Tradizionalmente su distribuzioni basate su Debian come Debian / Ubuntu / Mint / Kali / Antix, il gruppo predefinito per sudo è, beh, sudo.

Quindi per aggiungere sudoutenti abilitati senza password a un sistema basato su Debian, i passaggi sono:

  1. Installare sudo

    In Debian, a seconda delle opzioni di installazione, spesso finisci senza sudoinstallarlo di default.

    Se il pacchetto sudonon è installato (ad es. Non hai /etc/sudoers), esegui come root:

    # apt install sudo
    
  2. Aggiungi l'utente al gruppo sudo

    Aggiungi un utente al gruppo sudo, se non è già nel gruppo sudo (Ubuntu e derivati ​​aggiungono automaticamente un utente creato nell'installazione al gruppo sudo).

    Quando si configura il primo utente sudo, si arriva al primo come root:

    # gpasswd -a <primary account> sudo
    

    Quando si dispone già di un sudoutente, si consiglia come buona pratica di sicurezza di impostare gli altri utenti nel gruppo sudo tramite quell'utente:

    $ sudo gpasswd -a <primary account> sudo
    
  3. Modifica /etc/sudoersper l'aggiunta della direttiva NOPASSWD

    Quindi modificare la riga predefinita /etc/sudoersper il sudogruppo con:

    $ sudo visudo
    

    e cambiarlo da:

    # Allow members of group sudo to execute any command
    %sudo   ALL=(ALL:ALL) ALL
    

    per:

    # Allow members of group sudo to execute any command, no password
    %sudo   ALL=(ALL:ALL) NOPASSWD:ALL
    
  4. Disconnettersi e riconnettersi

    Se è stato effettuato l'accesso al sistema, l'utente previsto deve quindi disconnettersi e accedere per sudorendere effettiva la modifica dell'utente appartenente al gruppo.

NOTA: In Debian il gruppo wheelè spesso usato per limitare in PAM l'uso di suun gruppo, invece di usarlo per il sudocomando come nelle distribuzioni basate su RedHat / SuSE.

Tradizionalmente nelle distribuzioni basate su Debian, per il sudocomando si usa il sudogruppo.


7

La maggior parte delle distribuzioni ha questa linea in /etc/sudoers/:

#includedir /etc/sudoers.d

Di conseguenza, un modo semplice per aggiungere un utente è quello di creare un file adatto nella /etc/sudoers.d/directory; Normalmente lo chiamo per l'utente da aggiungere:

add_sudoer() {
    if ! test -n "$1"
    then echo "Usage: $0 <user>" >&2; return
    fi

    printf >"/etc/sudoers.d/$1" '%s    ALL= NOPASSWD: ALL\n' "$1"
}

Potresti anche voler aggiungere Defaults:%s !lecture, !authenticate\ne / o altre opzioni al file.

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.