Pular para o conteúdo
Início » Como Permitir que Usuários do Sudo Executem Comandos Específicos no Linux

Como Permitir que Usuários do Sudo Executem Comandos Específicos no Linux

pessoa programando hacker

#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.

Marcações: