Inserir alias no arquivo sudoers

2

Eu criei um alias para myuser que é

alias up='sudo apt update && sudo apt -y upgrade && sudo apt -y autoremove'

Ele é armazenado no arquivo .bashrc do usuário. Eu tentei modificar o arquivo sudoers inserindo a seguinte linha no final:

myuser ALL=(ALL) NOPASSWD: up

visudo apresenta um erro de sintaxe. Como posso fazer meu alias executar sem a senha do root?

    
por Carlos Oliveira 13.02.2018 / 20:27

2 respostas

1

Eu acho que não está funcionando porque: up é um alias, não um caminho para um arquivo. Os aliases são capturados e expandidos pelo shell antes de serem executados.

Para obter o comportamento desejado, você precisará usar:

myuser ALL=(ALL) NOPASSWD: /usr/bin/apt

(Verifique se esta é a rota correta para o APT, não tenho nenhuma distro baseada no apt disponível agora).

Mas o que você está tentando fazer é um desastre esperando para acontecer, pelo menos se você não omitir que "sudo apt -y autoremove". O Autoremove deve ser usado com cautela e revisando o que está planejando remover, pois ele pode remover pacotes essenciais às vezes e realmente mexer com o sistema (aprendi da maneira mais difícil)

    
por 13.02.2018 / 20:54
0

Se você quiser executar todos os comandos sudo sem uma senha, você pode usar isso.

myuser ALL=(ALL) NOPASSWD:ALL

Se você quiser limitá-lo a apenas alguns comandos, você pode usar isso.

myuser ALL=(ALL) NOPASSWD: /usr/bin/apt,/usr/bin/command
    
por 13.02.2018 / 21:00

Tags