DEV Community

Cover image for Grupos e Usuários em Linux: O que você precisa saber?
Diogo Izele
Diogo Izele

Posted on

Grupos e Usuários em Linux: O que você precisa saber?

No universo do Linux, os conceitos de grupos e usuários desempenham um papel crucial na administração de sistemas, garantindo a segurança e a gestão das permissões 🐧.

Neste artigo, vamos desvendar o que são grupos e usuários no Linux de uma maneira fácil de entender, para que, mesmo se você está começando sua jornada no Linux, possa ter um controle melhor sobre quem pode fazer o quê no seu sistema. Vamos começar! 🚀

Conhecendo as Bases

Os usuários nada mais são do que pessoas que interagem com o sistema Linux. Cada usuário possui sua própria identidade, área de trabalho e permissões específicas. É como ter várias contas em um computador, uma para cada pessoa que utiliza o sistema.

Mas você pode estar se perguntando: "Qual a vantagem de ter vários usuários em uma mesma máquina e por que eu iria querer fazer isso?"

Gif animado do Batman no formato Cartoon pensativo

Embora em máquinas pessoais seja comum ter apenas um usuário (você mesmo), a ideia de vários usuários em um sistema brilha em cenários onde várias pessoas precisam acessar o mesmo computador ou servidor. Veja como isso faz sentido:

  • Empresas: Cada funcionário teria sua conta de usuário para acessar recursos compartilhados e manter seus próprios arquivos privados.

  • Escolas: Alunos e professores podem ter contas separadas para manter a privacidade de suas notas e materiais de ensino.

  • Servidores da web: Diferentes equipes, como desenvolvedores, analistas de banco de dados e suporte, podem ter contas separadas para acessar apenas o que é necessário para suas funções.

Essa organização facilita a administração do sistema, permite o compartilhamento controlado de recursos e garante a segurança, pois cada usuário só pode acessar o que lhe é permitido.

Imagine sua máquina como uma casa onde você é o proprietário (admin), mas ocasionalmente recebe visita ou permite que outras pessoas usem algumas áreas. Ter vários usuários permite:

  • Privacidade: Cada usuário tem sua própria área protegida por senha, mantendo seus arquivos e configurações pessoais seguros.

  • Compartilhamento seletivo: Você pode compartilhar sua máquina com familiares ou colegas, dando a eles contas de usuário separadas para que usem sem acesso aos seus dados privados.

  • Controle de acesso: É possível definir permissões para cada usuário, permitindo ou restringindo o acesso a arquivos e programas. Isso é útil em ambientes onde você deseja limitar o que outras pessoas podem fazer.

No entanto, à medida que as necessidades e funções dos usuários se tornam mais complexas, a organização em grupos se torna ainda mais necessária.

Vamos agora explorar como os grupos de permissões podem simplificar ainda mais essa gestão e garantir que seu sistema Linux funcione de maneira eficiente e segura. 🗃️💻

Enquanto os usuários representam pessoas individuais no Linux, os grupos de permissões funcionam como categorias ou clubes que podem incluir vários usuários com interesses ou necessidades semelhantes.

  • Grupo "Desenvolvedores": Este grupo incluiria todos os usuários envolvidos no desenvolvimento de software. Eles podem ter permissões para acessar ferramentas de desenvolvimento específicas e pastas relacionadas.

  • Grupo "Administradores": Os administradores, como o nome sugere, são responsáveis por gerenciar o sistema. Eles têm acesso completo para realizar tarefas de manutenção, configuração e administração.

  • Grupo "Usuários Comuns": Este grupo é composto por usuários regulares que têm permissões padrão, permitindo apenas o uso cotidiano do sistema.

Colocando em Prática

Mãos à obra! Aqui, mostrarei como criar usuários, definir senhas, criar um arquivo com conteúdo, criar um grupo, atribuir permissões ao grupo e demonstrar como o acesso é controlado.

Thanos sucumbindo com a legenda:

Criando Usuários

Primeiro, vamos criar dois novos usuários, um chamado horacio e outro chamado rosita. Existem duas formas comuns de fazer isso:

sudo useradd horacio

# ou

sudo adduser rosita
Enter fullscreen mode Exit fullscreen mode

Note que ambos os comandos, useradd e adduser, são utilizados para criar novos usuários no sistema Linux, mas diferem em alguns aspectos importantes.

useradd

O comando useradd é uma ferramenta de linha de comando mais básica e direta para adicionar novos usuários ao sistema. Ele realiza a tarefa fundamental de criar um novo usuário, mas não fornece uma interface interativa amigável durante o processo.

adduser

Por outro lado, o comando adduser é uma ferramenta mais amigável e interativa para criar novos usuários. Ele apresenta uma série de perguntas durante o processo de criação, como o nome completo do usuário, senha e grupos adicionais, tornando a tarefa mais simples para iniciantes.

O adduser também cuida automaticamente de várias configurações padrão, como a criação de uma pasta inicial para o usuário em /home e a atribuição de um shell padrão.

Execução dos comandos useradd e adduser

Adicionando Senhas aos Usuários

Agora que os usuários estão criados, é importante adicionar senhas a eles para garantir a segurança das contas. Caso você tenha criado seu usuário utilizando o comando adduser, esse processo não é necessário, utilize para usuários criados com useradd. Você pode fazer isso usando o comando:

sudo passwd horacio
Enter fullscreen mode Exit fullscreen mode

O sistema solicitará que você insira e confirme a senha para o usuário horacio.

Criando um Arquivo e Controlando o Acesso

Vamos criar um arquivo de exemplo na pasta inicial do usuário horacio:

⚠️ Lembre-se que o usuário horacio foi criado com o comando useradd, logo, precisaremos fazer algumas configurações de forma manual.

Criando a pasta inicial do usuario horacio

Para criar o diretório inicial, utilize o comando:

sudo mkdir /home/horacio
Enter fullscreen mode Exit fullscreen mode

Com a pasta inicial do novo usuário criada, é importante que você dê as devidas permissões a ele. Certifique-se de ter privilégios administrativos.

Use o comando chown para alterar o proprietário e o grupo do diretório /home/horacio para o usuário "horacio" e seu grupo principal.

sudo chown -R horacio:horacio /home/horacio
Enter fullscreen mode Exit fullscreen mode

A opção -R é usada para fazer a alteração recursivamente, o que significa que todos os arquivos e subdiretórios dentro de /home/horacio também terão suas permissões atualizadas.

Para garantir que o usuário "horacio" tenha acesso total ao seu diretório pessoal, você pode usar o comando chmod para definir as permissões da seguinte maneira:

sudo chmod 700 /home/horacio
Enter fullscreen mode Exit fullscreen mode

Isso definirá as permissões do diretório /home/horacio para que apenas o proprietário (usuário "horacio") tenha acesso total, enquanto o grupo e outros não têm permissões de leitura, gravação ou execução.

Depois de executar esses comandos, o diretório /home/horacio deve estar configurado corretamente com as permissões adequadas para o usuário "horacio" acessar e gerenciar seu próprio espaço pessoal. Feito isso, execute os comandos abaixo para entrar como horacio e criar um arquivo:

su horacio # Entrar como horacio

echo "You Have No Power Here!" > /home/horacio/gandalf-the-gray.txt # Criar arquivo
Enter fullscreen mode Exit fullscreen mode

Resultado da criacao do arquivo

Agora, tente acessar esse arquivo usando o usuário rosita. Primeiro, entre como rosita e então tente acessar o arquivo:

su rosita # Entrando como rosita

cat /home/horacio/gandalf-the-gray.txt
Enter fullscreen mode Exit fullscreen mode

Você deve ver uma mensagem informando que o acesso foi negado, porque rosita não tem permissão para acessar o arquivo de horacio.

Tentando acessar o arquivo de horacio, conectado como rosita

Criando um Grupo

Vamos criar um grupo chamado "dogs", que pode ser útil em um cenário de colaboração:

sudo groupadd dogs
Enter fullscreen mode Exit fullscreen mode

Adicionando Permissões ao Grupo

Agora, vamos adicionar permissões ao grupo "dogs" para acessar a pasta do usuário horacio:

sudo chown :dogs /home/horacio
sudo chmod 770 /home/horacio
Enter fullscreen mode Exit fullscreen mode

Isso permite que todos os membros do grupo "dogs" (ainda não adicionados) acessem a pasta do usuário horacio.

Adicionando Usuários ao Grupo

Agora, vamos adicionar rosita ao grupo "dogs":

sudo usermod -aG dogs rosita
Enter fullscreen mode Exit fullscreen mode

Testando as Permissões

Agora que rosita faz parte do grupo "dogs", ela deve ser capaz de acessar a pasta de horacio. Tente acessar o arquivo de exemplo novamente:

cat /home/horacio/gandalf-the-gray.txt
Enter fullscreen mode Exit fullscreen mode

Rosita acessando horacio

Você deverá conseguir acessar o arquivo sem problemas. Isso demonstra como as permissões de grupo podem controlar o acesso a recursos em um sistema Linux.

Considerações Finais

Com esse artigo você pode ver o quão simples é criar e gerenciar grupos e usuários em um sistema Linux com confiança. Essas habilidades essenciais garantem a segurança, organização e eficiência no controle de acessos. Parabéns por ter chegado até aqui! 🚀🐧

Bônus

Para encerrar este artigo, gostaria de mencionar algumas dicas adicionais:

  • whoami: Use o comando whoami para descobrir quem está conectado atualmente.

  • su para Alterar Usuário: O comando su permite alternar para outro usuário no sistema com a devida permissão.

  • Permissões: O sistema de permissões octal no Linux utiliza números de 3 dígitos para representar as permissões de leitura, gravação e execução em um arquivo ou diretório. Cada dígito representa um conjunto de permissões: o primeiro para o proprietário, o segundo para o grupo e o terceiro para outros. O número "7" concede permissão total (leitura, gravação e execução), "5" concede leitura e execução, "4" concede apenas leitura, "0" nega todas as permissões. Por exemplo, "770" significa permissão total para proprietário e grupo, enquanto nega todas as permissões para outros.

Com isso, você pode ter uma boa visão sobre grupos e usuários no Linux, obrigado e até a próxima! 👋

Top comments (0)