Antes de explorarmos como conceder privilégios de superusuário (sudo) a usuários no Ubuntu, é fundamental entender o contexto que nos leva a essa necessidade. Imagine, por exemplo, a situação em que você precisa gerenciar serviços, instalar novos softwares ou atualizar os já existentes no Ubuntu. Se você tentou realizar alguma dessas ações e recebeu a mensagem “Acesso negado”, este é o ponto de partida para nossa discussão.
Esses cenários exigem a execução de comandos com privilégios de root, também conhecido como superusuário. No entanto, essa prática não é recomendada devido a preocupações com a segurança. Executar comandos como root pode gerar problemas no sistema caso o usuário cometa algum erro durante a configuração.
O Ubuntu, uma das distribuições Linux mais populares, incorpora um recurso chamado sudo, que permite a um usuário executar comandos com privilégios elevados sem a necessidade de fazer login como root.
Este artigo detalhará quem são os “sudoers”, as razões pelas quais você pode precisar deles e como adicioná-los ao sistema operacional Ubuntu.
O Que São Sudo e Sudoers?
Por que não utilizar o comando “su” ou “switch user”? O comando “switch user” permite que você faça login diretamente como root. Ao usá-lo, o sistema solicitará a senha de root, e você terá permissão para realizar quaisquer ações, como adicionar arquivos, instalar softwares ou alterar configurações. No entanto, existe o risco de esquecer de sair da sessão root, e um simples erro de digitação pode levar à exclusão de arquivos importantes ou até mesmo de todo o disco rígido.
Sudo é a abreviação de “super usuário do”. Usuários com privilégios sudo podem executar comandos com acesso elevado, como instalar e atualizar softwares ou alterar configurações do sistema. Um “sudoer” é um usuário que possui essas permissões. Usuários com privilégios sudo precisam sempre usar a palavra-chave “sudo” antes de executar qualquer comando no Ubuntu. Uma vantagem é que não é necessário fazer logout após a execução desses comandos.
Em um sistema Ubuntu com múltiplos usuários, nem todos terão privilégios sudo. Durante a instalação, o primeiro usuário criado recebe privilégios sudo por padrão. Apenas os usuários listados no arquivo ou grupo sudoers têm permissão para executar comandos sudo.
- Arquivo Sudoers: Um arquivo de configuração que define quais usuários podem usar sudo e como.
- Grupo Sudoers: Um grupo especial de usuários com privilégios sudo.
Cenários Onde É Necessário Conceder Acesso Sudo aos Usuários
É possível permitir que usuários específicos executem comandos sudo em seu computador pessoal ou no escritório. Isso pode ser útil nos seguintes casos:
- Se você tiver uma equipe de administradores ou desenvolvedores que precisa realizar tarefas com acesso root, como instalação de software ou atualização do sistema.
- Se você deseja limitar o acesso de usuários a arquivos ou diretórios específicos do sistema, sem conceder acesso total.
- Se você tiver um usuário convidado para uma tarefa específica que requer acesso root, como a instalação e configuração de um software especializado ou a atualização do sistema.
Importância de Conceder Privilégios Sudo aos Usuários
- Aumenta a segurança do sistema: Evita a necessidade de conceder acesso root diretamente aos usuários, o que pode expor o sistema a riscos e erros. Privilégios sudo permitem que eles acessem apenas o necessário.
- Permite personalização de permissões: Ao adicionar usuários sudo, você pode definir quais comandos eles podem executar e quando podem fazê-lo. Você também pode especificar se eles precisam de senha para executar esses comandos.
- Facilita o monitoramento de usuários: O arquivo `/var/log/auth.log` registra todos os comandos que os sudoers executam, facilitando a auditoria das atividades.
Pré-requisitos Para Adicionar um Usuário ao Arquivo Sudoers
- Conta de usuário com privilégios sudo: É necessário estar logado em uma conta com direitos sudo para adicionar novos usuários ao grupo ou arquivo sudoers.
- Nome de usuário: Você precisa saber o nome de usuário do usuário que será adicionado ao grupo ou arquivo sudoers.
- Editor de texto: O Ubuntu utiliza o Nano como editor padrão, mas você pode optar por outros.
Adicionando Um Usuário ao Arquivo Sudoers
Existem várias maneiras de adicionar usuários ao arquivo sudoers. Primeiro, vamos criar um novo usuário.
Para este exemplo, vamos criar um usuário chamado ‘titus’. Siga os seguintes passos:
- Faça login em uma conta com privilégios sudo e execute o comando: `sudo adduser titus`. Substitua “titus” pelo nome de usuário desejado.
- Insira sua senha quando solicitado.
- Defina uma nova senha para o usuário e confirme-a.
- Siga as instruções (você pode aceitar os valores padrão) e clique em ‘Y’ para confirmar.
Agora você tem um novo usuário criado.
Existem duas formas de adicionar um usuário como sudoer no Ubuntu:
Nº 1: Adicionar o Usuário ao Grupo Sudo
Agora, podemos adicionar o usuário que acabamos de criar ao grupo sudo. Execute o comando abaixo enquanto logado como um usuário sudo ou root:
sudo usermod -aG sudo username
Substitua `username` pelo nome do usuário que você quer adicionar como sudoer. No nosso caso, o comando seria:
sudo usermod -aG sudo titus
Com isso, o novo usuário foi adicionado ao grupo sudo.
Nº 2: Adicionar o Usuário Diretamente ao Arquivo Sudoers
Como já vimos, sistemas Linux como o Ubuntu possuem diversos usuários com diferentes permissões de arquivos e diretórios. Por exemplo, você pode permitir que um usuário “leia”, “escreva” ou “execute” arquivos em um sistema Unix.
Podemos definir quais usuários podem usar sudo e como, diretamente no arquivo sudoers, localizado em `/etc/sudoers`.
Supondo que você já tenha um usuário sem privilégios sudo, veja como proceder:
- Abra o terminal.
- Utilize o comando a seguir para abrir o arquivo:
sudo visudo
O sistema solicitará a sua senha.
- Edite o arquivo. Após executar o comando, você verá algo parecido com isso:
Nesse exemplo, vamos conceder privilégios sudo ao usuário ‘kamunya’.
Localize a seção que se parece com:
# User privilege specification root ALL=(ALL:ALL) ALL
Adicione uma linha para conceder todos os direitos sudo ao ‘kamunya’ da seguinte forma:
kamunya ALL=(ALL:ALL) ALL
- Salve e saia. Utilize `Ctrl+O` para salvar as alterações e `Ctrl+X` para sair.
Agora o usuário foi adicionado como sudoer diretamente pelo arquivo sudoers. Se você quiser conceder direitos específicos ao ‘kamunya’, como atualizar software sem senha, basta adicionar a seguinte linha:
kamunya ALL=(ALL:ALL) NOPASSWD: /usr/bin/apt-get update, /usr/bin/apt-get upgrade
Como Verificar se um Usuário Tem Privilégios Sudo
Mesmo após seguir todos os passos, é importante confirmar se os usuários do seu sistema realmente têm privilégios sudo. Aqui estão algumas formas de verificar:
Utilizando o Comando Sudo
Vamos verificar se o usuário ‘titus’ é um sudoer. Utilize o comando:
sudo -l -U titus
Substitua `titus` pelo nome do usuário que você quer verificar.
Se o usuário tiver privilégios sudo, você verá algo parecido com:
Caso o usuário não possua privilégios sudo, você receberá a seguinte mensagem de erro: O usuário ‘nome de usuário’ não tem permissão para executar sudo em ‘nome da sua máquina’.
Verificando os Grupos Sudo
Ao criar um usuário sudo, o sistema automaticamente o associa a um grupo com o mesmo nome do usuário. Por exemplo, temos um usuário sudo chamado ‘tk’. Para verificar se este usuário pertence a um grupo, utilize o seguinte comando:
groups tk
Substitua `tk` pelo seu nome de usuário.
Você verá um resultado semelhante a este:
Como Excluir um Usuário Sudo
Existem diversas situações em que você pode precisar excluir um usuário sudo. Por exemplo, se você cometeu um erro durante a configuração do perfil ou se o usuário foi criado para uma tarefa específica e não é mais necessário.
Você pode utilizar a interface gráfica ou a linha de comando para excluir um usuário do seu sistema Ubuntu. Veja como excluir um usuário utilizando a linha de comando:
- Execute o comando: `sudo deluser nome_de_usuario`, substituindo `nome_de_usuario` pelo perfil que você quer excluir. Isso irá remover o usuário, mas seus arquivos pessoais permanecerão no sistema.
Neste exemplo, removemos o usuário ‘kamunya’.
Caso queira remover também os arquivos do usuário, execute o comando da seguinte forma:
sudo deluser --remove-home username
No nosso caso, será:
sudo deluser --remove-home kamunya
Melhores Práticas para Gerenciar Usuários no Arquivo Sudoers
- Utilize o comando `visudo`: Ao decidir adicionar sudoers diretamente no arquivo, utilize sempre o comando `visudo`. Isso assegura a validação da sintaxe do arquivo para evitar erros. Após a edição, verifique se não há erros de digitação e salve o arquivo.
- Utilize grupos: Ao invés de adicionar usuários individualmente, adicione-os a grupos. Você pode criar grupos como ‘administradores’ e ‘desenvolvedores’, cada um com privilégios específicos.
- Documente o acesso: Mantenha um registro de quais usuários possuem privilégios sudo e quais ações eles podem realizar. Isso facilita a transição de conhecimento em caso de mudança de equipe.
- Monitore o acesso: Acompanhe as atividades dos usuários sudo no sistema. Realize revisões periódicas para excluir usuários que não precisam mais desses privilégios ou ajustar permissões conforme a necessidade.
Conclusão
O Ubuntu é um dos sistemas operacionais mais utilizados por administradores de sistemas e desenvolvedores. No entanto, é crucial garantir que você conceda as permissões corretas aos usuários que acessam seu sistema.
Agora você compreende quem são os sudoers e as diferentes formas de adicioná-los ao Ubuntu. Usuários com esses privilégios não precisam mais acessar o sistema com acesso total, mas com habilidades limitadas que o ajudarão a realizar seu trabalho de forma segura.
Você também pode explorar outros comandos para monitorar o desempenho do Linux, aprimorando ainda mais seu conhecimento como administrador de sistemas.