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

diogoizele

Diogo Izele

Posted on September 26, 2023

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! 👋

💖 💪 🙅 🚩
diogoizele
Diogo Izele

Posted on September 26, 2023

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

LINUX CHALLENGE, DAY 4
devops LINUX CHALLENGE, DAY 4

November 9, 2024

DevOps Bulletin #89: Pipeline as Code
devops DevOps Bulletin #89: Pipeline as Code

February 12, 2023

I kill every VPS I touch
vps I kill every VPS I touch

October 2, 2018