Configurando sudo sem senha em distribuições Linux


18

Recentemente, configurei os sistemas Fedora 28 e Ubuntu 18.04 e gostaria de configurar minha conta de usuário principal em ambos, para que eu possa executar sudocomandos sem que seja solicitada uma senha.

Como posso fazer isso nos respectivos sistemas?

Respostas:


28

Isso é bastante trivial se você usar o grupo Unix especial chamado wheelnos sistemas Fedora. Você apenas precisa fazer o seguinte:

  1. Adicione seu usuário principal ao wheelgrupo

    $ sudo gpasswd -a <primary account> wheel
    
  2. Ative NOPASSWD para o %wheelgrupo em/etc/sudoers

    $ sudo visudo
    

    Então comente esta linha:

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

    E descomente esta linha:

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

    Salve este arquivo com Shift+ Z+ Z.

  3. Sair e entrar novamente

    NOTA: Esta última etapa é obrigatória para que sua área de trabalho e quaisquer shells correspondentes de nível superior sejam reexecutados, mostrando que sua conta principal agora é membro do wheelgrupo Unix.


O que mudaria se, em vez de wheelvocê usar qualquer outro grupo?
Giacomo Alzetta 12/09

@GiacomoAlzetta Mude %wheelpara esse grupo.
Barmar 12/09/18

19

Tradicionalmente em distribuições baseadas no Debian, como Debian / Ubuntu / Mint / Kali / Antix, o grupo padrão para o sudo é, bem sudo,.

Portanto, para adicionar sudousuários habilitados sem senha a um sistema baseado no Debian, as etapas são:

  1. Instalar sudo

    No Debian, dependendo das opções de instalação, você geralmente acaba sem ser sudoinstalado por padrão.

    Se o pacote sudonão estiver instalado (por exemplo, você não possui /etc/sudoers), execute como root:

    # apt install sudo
    
  2. Adicione o usuário ao grupo sudo

    Adicione um usuário ao grupo sudo, se ele ainda não estiver no grupo sudo (Ubuntu e derivados adicionam um usuário criado automaticamente na instalação ao grupo sudo).

    Ao configurar o primeiro usuário sudo, você chegou ao primeiro como root:

    # gpasswd -a <primary account> sudo
    

    Quando você já possui um sudousuário, é recomendável, como boa prática de segurança, configurar os outros usuários no grupo sudo por meio desse usuário:

    $ sudo gpasswd -a <primary account> sudo
    
  3. Modifique /etc/sudoerspara adicionar a diretiva NOPASSWD

    Você edita a linha padrão /etc/sudoerspara o sudogrupo com:

    $ sudo visudo
    

    e mude de:

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

    para:

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

    Se estiver logado no sistema, o usuário pretendido sudodeverá efetuar logout e logon para que a alteração do usuário pertencente ao grupo seja efetivada.

NOTA: No Debian, o grupo wheelé freqüentemente usado para restringir no PAM o uso de suum grupo, em vez de usá-lo para o sudocomando como nas distribuições baseadas no RedHat / SuSE.

Tradicionalmente em distribuições baseadas no Debian, para o sudocomando você usa o sudogrupo.


7

A maioria das distribuições tem essa linha em /etc/sudoers/:

#includedir /etc/sudoers.d

Conseqüentemente, uma maneira fácil de adicionar um usuário é criar um arquivo adequado no /etc/sudoers.d/diretório; Eu normalmente nomeio para o usuário a ser adicionado:

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"
}

Você também pode adicionar Defaults:%s !lecture, !authenticate\ne / ou outras opções ao arquivo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.