Configurando o sudo sem senha em distribuições Linux
772
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 ser solicitada uma senha.
Isso é bastante trivial se você fizer uso do grupo especial do Unix chamado wheelnos sistemas Fedora. Você apenas tem que fazer o seguinte:
Adicione seu usuário principal ao wheelgrupo
$ sudo gpasswd -a <primary account> wheel
Habilite 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.
Sair e fazer login novamente
NOTA: Esta última etapa é obrigatória para que sua área de trabalho e quaisquer shells de nível superior correspondentes sejam executados novamente, mostrando que sua conta principal agora é membro do wheelgrupo Unix.
Tradicionalmente em distribuições baseadas em Debian como Debian/Ubuntu/Mint/Kali/Antix, o grupo padrão para sudo é, bem, sudo.
Então, para adicionar usuários habilitados sem senha sudoa um sistema baseado em Debian, as etapas são:
Instalarsudo
No Debian, dependendo das opções de instalação, muitas vezes você acaba sem sudoinstalado por padrão.
Se o pacote sudonão estiver instalado (por exemplo, você não tem /etc/sudoers), execute como root:
# apt install sudo
Adicione o usuário ao grupo sudo
Adicione um usuário ao grupo sudo, se ainda não estiver no grupo sudo (Ubuntu e derivados adicionam um usuário criado na instalação automaticamente ao grupo sudo).
Ao configurar o primeiro usuário sudo, você chegou ao primeiro como root:
# gpasswd -a <primary account> sudo
Quando você já tem um sudousuário, é aconselhá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
Modifique /etc/sudoerspara adicionar a diretiva NOPASSWD
Você então edita a linha padrão /etc/sudoerspara o sudogrupo com:
$ sudo visudo
e altere 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
Sair e fazer login novamente
Se logado no sistema, o usuário pretendido deve então efetuar logout e login para que a alteração do usuário pertencente ao sudogrupo tenha efeito.
NOTA: No Debian, o grupo wheelé frequentemente usado para restringir no PAM o uso de sua um grupo, em vez de usá-lo para o sudocomando como nas distribuições baseadas em RedHat/SuSE.
Tradicionalmente em distribuições baseadas em Debian, para o sudocomando você usa o sudogrupo.
A maioria das distribuições tem esta 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 o 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 querer adicionar Defaults:%s !lecture, !authenticate\ne/ou outras opções ao arquivo.
Isso é bastante trivial se você fizer uso do grupo especial do Unix chamado
wheel
nos sistemas Fedora. Você apenas tem que fazer o seguinte:Adicione seu usuário principal ao
wheel
grupoHabilite NOPASSWD para o
%wheel
grupo em/etc/sudoers
Então comente esta linha:
E descomente esta linha:
Salve este arquivo com Shift+ Z+ Z.
Sair e fazer login novamente
NOTA: Esta última etapa é obrigatória para que sua área de trabalho e quaisquer shells de nível superior correspondentes sejam executados novamente, mostrando que sua conta principal agora é membro do
wheel
grupo Unix.Tradicionalmente em distribuições baseadas em Debian como Debian/Ubuntu/Mint/Kali/Antix, o grupo padrão para sudo é, bem,
sudo
.Então, para adicionar usuários habilitados sem senha
sudo
a um sistema baseado em Debian, as etapas são:Instalar
sudo
No Debian, dependendo das opções de instalação, muitas vezes você acaba sem
sudo
instalado por padrão.Se o pacote
sudo
não estiver instalado (por exemplo, você não tem/etc/sudoers
), execute como root:Adicione o usuário ao grupo sudo
Adicione um usuário ao grupo sudo, se ainda não estiver no grupo sudo (Ubuntu e derivados adicionam um usuário criado na instalação automaticamente ao grupo sudo).
Ao configurar o primeiro usuário sudo, você chegou ao primeiro como
root
:Quando você já tem um
sudo
usuário, é aconselhável como boa prática de segurança configurar os outros usuários no grupo sudo por meio desse usuário:Modifique
/etc/sudoers
para adicionar a diretiva NOPASSWDVocê então edita a linha padrão
/etc/sudoers
para osudo
grupo com:e altere de:
para:
Sair e fazer login novamente
Se logado no sistema, o usuário pretendido deve então efetuar logout e login para que a alteração do usuário pertencente ao
sudo
grupo tenha efeito.NOTA: No Debian, o grupo
wheel
é frequentemente usado para restringir no PAM o uso desu
a um grupo, em vez de usá-lo para osudo
comando como nas distribuições baseadas em RedHat/SuSE.Tradicionalmente em distribuições baseadas em Debian, para o
sudo
comando você usa osudo
grupo.A maioria das distribuições tem esta linha em
/etc/sudoers/
:Conseqüentemente, uma maneira fácil de adicionar um usuário é criar um arquivo adequado no
/etc/sudoers.d/
diretório; Eu normalmente o nomeio para o usuário a ser adicionado:Você também pode querer adicionar
Defaults:%s !lecture, !authenticate\n
e/ou outras opções ao arquivo.Alternativamente, você pode usar o pacote Python pudo .
Instalação:
Abaixo está o trecho de código para usar na automação python para executar comandos com privilégios de root::
Abaixo está o exemplo cmd para executar comandos sob privilégio de root