Criação de usuários e grupos, configuração de permissões de acesso, gerenciamento de processos
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:
user1
euser2
. Eles irão trabalhar juntos no grupodevelopers
. - Configurar um arquivo (por exemplo,
project.txt
) de forma que apenas os membros do grupodevelopers
possam 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:top
Aqui você consegue ver a carga do processador, memória e os processos ativos. Use a combinação de teclas
k
pra encerrar um processo direto pela interface.htop
— uma interface mais amigável (se estiver instalado):
Pra sair, apertehtop
F10
.
8. Checklist
Depois de completar todos os passos, você deve garantir que:
- Dois usuários
user1
euser2
foram criados. - Um grupo
developers
foi criado e configurado, com ambos os usuários adicionados a ele. - Um arquivo
project.txt
foi criado, com acesso permitido apenas para o grupodevelopers
. - Alguns processos foram criados e finalizados usando os comandos
kill
,killall
epkill
. - Você conseguiu visualizar a lista de processos usando
ps
,top
ouhtop
.
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