1. Definição do problema
Então, temos pela frente um trabalho prático intenso, onde você poderá colocar em prática todos os conhecimentos adquiridos nas aulas anteriores. Vamos criar usuários, agrupá-los em grupos, configurar permissões de acesso únicas e gerenciar processos no sistema. E se você está pensando: "Por que eu devo aprender isso?", imagine que você é um administrador de sistema ou um engenheiro DevOps, e precisa configurar um servidor para o trabalho colaborativo de uma equipe. Ou apenas salvar o seu computador do caos! No mundo real, situações como essas acontecem com bastante frequência.
Seu objetivo é configurar o sistema para os seguintes usuários e processos:
- Criar dois usuários:
user1euser2. Eles irão trabalhar juntos no grupodevelopers. - Configurar um arquivo (por exemplo,
project.txt) de forma que apenas os membros do grupodeveloperspossam editá-lo. - Criar alguns processos (por exemplo, usando o comando
sleep) e aprender a finalizá-los, se necessário. - Examinar os processos ativos para identificar quais estão consumindo mais recursos.
Parece um plano? Vamos implementá-lo passo a passo.
2. Passo 1: Criar usuários
1. Criando usuários
Pra começar, vamos criar dois usuários:
sudo adduser user1
sudo adduser user2
Ao executar esses comandos, o sistema vai pedir pra você definir uma senha e adicionar uma descrição pra cada usuário. A gente não vai preencher dados extras aqui, pode só apertar Enter.
Pra cada usuário, o sistema cria automaticamente um diretório home em /home. Você pode conferir isso:
ls /home
Se você estiver trabalhando localmente, não esqueça de usar sudo pra ter permissões de administrador. E se você estiver usando o WSL, fique atento porque podem surgir algumas particularidades com usuários. Por exemplo, no WSL o usuário padrão já é administrador do sistema.
3. Passo 2: Criando um grupo e adicionando usuários
1. Criando o grupo
Pra usuários trabalharem juntos nos projetos, vamos adicioná-los a um grupo. Primeiro, bora criar um grupo chamado developers:
sudo groupadd developers
2. Adicionando usuários ao grupo
Agora, adicionaremos os usuários user1 e user2 ao grupo developers. Usamos o comando usermod pra isso:
sudo usermod -aG developers user1
sudo usermod -aG developers user2
3. Verificando a associação ao grupo
Pra garantir que os usuários foram adicionados corretamente ao grupo, execute:
groups user1
groups user2
Você deve ver que user1 e user2 são membros do grupo developers.
4. Passo 3: Trabalhando com arquivos e permissões de acesso
1. Criando um arquivo para o projeto
Vamos criar o arquivo project.txt no diretório home de um dos usuários (por exemplo, user1):
sudo -u user1 touch /home/user1/project.txt
O comando sudo -u permite executar ações como outro usuário.
2. Alterando o proprietário e o grupo do arquivo
Vamos definir user1 como o proprietário e developers como o grupo, para que ambos tenham o mesmo acesso:
sudo chown user1:developers /home/user1/project.txt
3. Configurando permissões de acesso
Agora vamos alterar as permissões de acesso ao arquivo. Use o comando chmod:
sudo chmod 660 /home/user1/project.txt
O que fizemos aqui? Demos ao proprietário user1 e ao grupo developers permissões de leitura e escrita rw-, enquanto todos os outros não têm acesso.
Você pode verificar as permissões com o comando ls:
ls -l /home/user1/project.txt
Resultado esperado:
-rw-rw---- 1 user1 developers 0 data hora /home/user1/project.txt
5. Etapa 4: Iniciando processos
1. Iniciando processos
Pra experimentar, vamos criar alguns processos "de longa duração" usando o comando sleep:
sleep 300 &
sleep 400 &
sleep 500 &
Cada comando sleep é executado em background por causa do símbolo &.
Pra checar a lista de processos, usa o comando ps:
ps
Mais informações podem ser vistas com ps aux:
ps aux | grep sleep
6. Passo 5: Finalizando processos
1. Finalizando um processo pelo PID
Identifique o PID de um dos processos (por exemplo, sleep) e finalize ele:
kill PID
Onde PID é o identificador do processo, que pode ser encontrado usando o comando ps.
2. Finalizando um processo pelo nome
Se você quiser finalizar todos os processos sleep, use o comando killall:
killall sleep
3. Usando pkill
Se você não lembra o nome exato do processo, pkill pode te ajudar finalizando o processo por uma parte do nome:
pkill slee
7. Passo 6: Monitoramento de processos
Pra ficar de olho na carga do sistema, use:
top— pra trabalhar em tempo real:topAqui você consegue ver a carga do processador, memória e os processos ativos. Use a combinação de teclas
kpra encerrar um processo direto pela interface.htop— uma interface mais amigável (se estiver instalado):
Pra sair, apertehtopF10.
8. Checklist
Depois de completar todos os passos, você deve garantir que:
- Dois usuários
user1euser2foram criados. - Um grupo
developersfoi criado e configurado, com ambos os usuários adicionados a ele. - Um arquivo
project.txtfoi criado, com acesso permitido apenas para o grupodevelopers. - Alguns processos foram criados e finalizados usando os comandos
kill,killallepkill. - Você conseguiu visualizar a lista de processos usando
ps,topouhtop.
Se tudo foi feito — parabéns! Você passou por todas as etapas principais de gerenciamento de usuários, grupos, permissões de acesso e processos no sistema Linux. Que o poder da linha de comando esteja com você!
GO TO FULL VERSION