#sudo #permissoes
No Linux, o sudo (superuser do) é um programa que permite que usuários executem programas com os privilégios de segurança de outro usuário (geralmente o superusuário). Por padrão, o sudo pede ao usuário sua senha pessoal, mas esta configuração pode ser alterada. Entretanto, em determinados cenários, pode ser necessário restringir os comandos que um usuário ou grupo pode executar como superusuário. Neste guia, vamos aprender como conceder permissões para que usuários ou grupos executem comandos específicos através do sudo.
1. Introdução ao arquivo sudoers
A configuração para as permissões do sudo é armazenada no arquivo /etc/sudoers
. É altamente recomendável não editar este arquivo diretamente. Em vez disso, use o comando visudo
para fazer alterações, pois ele garantirá que as edições sejam feitas de forma segura e correta.
2. Editando o arquivo sudoers
Para editar o arquivo sudoers, execute:
sudo visudo
3. Sintaxe básica
A sintaxe básica para definir permissões no arquivo sudoers é:
user/host = (user:group) command
Por exemplo:
johnny ALL=(ALL:ALL) /usr/bin/apt-get
Isso permite que o usuário johnny
execute o comando apt-get
como qualquer usuário ou grupo em todos os hosts.
4. Restringindo comandos
Para permitir que um usuário execute apenas comandos específicos, liste esses comandos:
johnny ALL=(root) /usr/bin/apt-get, /usr/bin/reboot
Neste caso, johnny
só pode executar apt-get
e reboot
como root.
5. Proibir comandos específicos
Use o prefixo !
para proibir comandos específicos:
johnny ALL=(root) ALL, !/usr/bin/passwd
Aqui, johnny
pode executar todos os comandos como root, exceto o comando passwd
.
6. Permitir comandos sem solicitar senha
Para permitir que um usuário execute um comando específico sem ser solicitado a fornecer sua senha, use a diretiva NOPASSWD
:
johnny ALL=(root) NOPASSWD: /usr/bin/reboot
Neste caso, johnny
pode reiniciar o sistema sem inserir sua senha.
7. Restrições de grupo
Você também pode definir permissões para grupos. No Linux, os grupos são precedidos por um %
. Por exemplo, para permitir que todos os usuários no grupo admins
usem o apt-get
:
%admins ALL=(root) /usr/bin/apt-get
Restringir comandos sudo para usuários específicos é uma medida de segurança importante, especialmente em sistemas com vários usuários. Sempre use visudo
ao editar o arquivo sudoers para evitar erros de sintaxe. Com essas diretrizes em mente, você pode criar uma configuração sudo que seja segura e adequada às necessidades do seu sistema.
Sou um profissional na área de Tecnologia da informação, especializado em monitoramento de ambientes, Sysadmin e na cultura DevOps. Possuo certificações de Segurança, AWS e Zabbix.