SUDO - Alterando o IP com usuário não privilegiado

SUDO - Alterando o IP com usuário não privilegiado

O sudo, vai muito além do que conceder acesso root a um usuário, com ele podemos por exemplo definir que um usuário comum possa ter privilégios elevados em um comando específico, de modo que não afete suas tarefas diárias e também não impacte de forma negativa o gerenciamento de acesso da instituição.

No howto de exemplo, demonstramos como um usuário ramon, possa alterar seu endereço de rede, usuando suas credencias de usuário.

Editando o sudoers

Nessa etapa alteramos os paramentros do sudoers para obtermos log e definição de paths seguros.

sudo visudo

Adicione os seguintes parâmetros ao visudo Estas configurações são úteis para definir o arquivo de log, paths seguros, número tentativas de acesso antes de fechar a requisição... entre outros parâmetros.

Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Defaults        logfile="/var/log/sudo.log"
Defaults        lecture="always"
Defaults        badpass_message="Password is wrong, please try again"
Defaults        passwd_tries=5
Defaults        insults
Defaults        log_input,log_output

Usuario especifico

No final do arquivo, adicione os parâmetros que definirão como o usuário poderá acessar a aplicação com privilégios elevados.

ramon ALL=NOPASSWD: /usr/sbin/ip

Trabalhando com grupos

Também é possível trabalhar com grupos de usuários, veja;

sudo groupadd admin_local
sudo usermod -a -G admin_local ramon
%admin_local ALL=NOPASSWD: /usr/sbin/ip 

Dessa forma todo o usuário que fizer parte do grupo admin_local, poderá executar o programa com privilégios elevados.

Testando comando

sudo ip addr add dev enp1s0 192.168.122.245/24 broadcast 192.168.122.180

Removendo usuario do grupo

sudo gpasswd -d ramon admin_local

Monitorando alterações

tail -f /var/log/sudo.log

Vídeo Demonstrativo

HowTO

Posted on