[Cruzeiro] GSO III - Atividade Usuários, grupos e compartilhamento de arquivos no Linux

Gestão de Sistemas Operacionais III — Técnico em Informática

Usuários, grupos e compartilhamento de arquivos no Linux

Você vai montar o servidor de arquivos de uma pequena empresa: contas de usuário, grupos por departamento, pastas com as permissões certas e compartilhamento na rede com Samba.

Utilize uma VM com uma versão do Linux

o que você terá no final
elaine@gso3-seunome:~$ smbclient -L //localhost -U ana
Password for [WORKGROUP\ana]:

        Sharename       Type      Comment
        ---------       ----      -------
        financeiro      Disk      Pasta do Financeiro
        rh              Disk      Pasta do RH
        ti              Disk      Pasta da TI
        publico         Disk      Pasta publica
        IPC$            IPC       IPC Service

Cenário

A Distribuidora Vale do Paraíba guarda planilhas e documentos em pen drives que circulam entre os setores. Você foi contratado para criar um servidor Linux onde cada departamento tem sua pasta, com acesso controlado por grupos, e todos acessam pela rede.

Colaboradores

UsuárioNome completoSetorGrupos suplementares
anaAna SouzaFinanceirofinanceiro, colaboradores
brunoBruno LimaFinanceirofinanceiro, colaboradores
carlaCarla DiasRHrh, colaboradores
diegoDiego AlvesRHrh, colaboradores
elaineElaine RochaTI (administradora)ti, colaboradores, sudo
estagiarioEstagiario Temporario—colaboradores

Senha de laboratório para todas as contas: Gso3@2026

Regras das pastas

  • /srv/empresa/financeiro, /srv/empresa/rh e /srv/empresa/ti: somente os membros do grupo do setor leem e gravam. Outros usuários não entram.
  • /srv/empresa/publico: todos do grupo colaboradores leem e gravam, mas ninguém pode apagar arquivo criado por outra pessoa.
  • Todo arquivo criado dentro de uma pasta deve pertencer automaticamente ao grupo daquela pasta.
  • Pela rede (Samba), o estagiário apenas lê a pasta pública.

Antes de começar

Atenção: faça tudo em uma máquina virtual e tire um snapshot antes de começar. Não execute estes comandos no computador do laboratório nem em servidor real.

Personalize o nome da máquina com o seu primeiro nome. Ele aparece no prompt e deve estar visível em todos os prints:

sudo hostnamectl set-hostname gso3-seunome
# feche e abra o terminal novamente
Referência rápida de comandos

A sintaxe está aqui. Montar o comando certo para cada tarefa é com você.

ComandoPara que serve
groupadd grupoCria um grupo
useradd -m -s /bin/bash -c "Nome" -G g1,g2 usuarioCria usuário com diretório pessoal, shell, nome completo e grupos suplementares
passwd usuarioDefine a senha local
usermod -aG grupo usuarioAdiciona o usuário a um grupo mantendo os demais
gpasswd -d usuario grupoRemove o usuário de um grupo
usermod -L usuarioBloqueia a senha da conta
chage -E AAAA-MM-DD usuarioDefine a data de expiração da conta (chage -l consulta)
id usuario / getent group grupoMostra os grupos de um usuário / os membros de um grupo
chown dono:grupo caminhoAltera dono e grupo
chmod NNNN caminhoPermissões numéricas; o 1º dígito soma SUID (4), SGID (2) e sticky bit (1)
sudo -u usuario comandoExecuta um comando como outro usuário (para testes)
smbpasswd -a usuario / -d usuarioCadastra no Samba / desativa no Samba
pdbedit -L / pdbedit -v usuarioLista usuários do Samba / detalhes de um usuário
testparm -sVerifica a sintaxe do smb.conf
smbclient //host/pasta -U usuario -c 'ls'Acessa um compartilhamento pelo terminal

Parte 1 — Usuários e grupos

2,0 pts

1.1Criar os grupos

Crie os grupos financeiro, rh, ti e colaboradores.

1.2Criar os usuários

Crie os seis usuários da tabela com um único comando por usuário: diretório pessoal, shell /bin/bash, nome completo no campo de comentário e todos os grupos suplementares.

1.3Definir senhas

Defina a senha de laboratório para as seis contas.

1.4Conferir

Mostre os membros dos quatro grupos em um só comando: getent group financeiro rh ti colaboradores E1

Mostre os grupos da Elaine e as linhas de três contas no /etc/passwd: id elaine e grep -E '^(ana|elaine|estagiario):' /etc/passwd E2

Parte 2 — Pastas e permissões

2,0 pts

2.1Criar a estrutura

Crie /srv/empresa com as subpastas financeiro, rh, ti e publico.

2.2Dono e grupo

Todas as pastas pertencem ao usuário root. O grupo de cada uma é o do setor; o da publico é colaboradores.

2.3Permissões

Descubra e aplique a permissão numérica de 4 dígitos que atende às regras do cenário:

  • Pastas dos setores: dono e grupo com acesso total, outros sem nada, e herança do grupo.
  • Pasta pública: o mesmo, mais proteção para que ninguém apague arquivo alheio.

Mostre o resultado com ls -l /srv/empresa E3

2.4Testar as permissões localmente

Use sudo -u para agir como cada usuário:

  1. A Ana cria balanco.txt em financeiro. Mostre com ls -l que o arquivo ficou com o grupo financeiro. E4
  2. A Carla tenta listar financeiro. Deve receber permissão negada. E5
  3. A Ana cria aviso_ana.txt em publico e o Bruno tenta apagá-lo com rm -f. Deve receber operação não permitida. E6

Parte 3 — Compartilhamento com Samba

3,0 pts

3.1Instalar e fazer backup da configuração

sudo apt update
sudo apt install -y samba smbclient
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

3.2Criar os compartilhamentos

Abra sudo nano /etc/samba/smb.conf e acrescente no final. O compartilhamento do financeiro está pronto como modelo:

[financeiro]
   comment = Pasta do Financeiro
   path = /srv/empresa/financeiro
   valid users = @financeiro
   read only = no
   browseable = yes
   force group = financeiro
   create mask = 0660
   directory mask = 2770

Escreva você mesmo os blocos [rh], [ti] e [publico]. Na pasta pública, o estagiário só pode ler pela rede — pesquise a diretiva read list.

3.3Validar e reiniciar

Confira a sintaxe com testparm -s, reinicie o serviço smbd e verifique se ele está ativo.

3.4Cadastrar os usuários no Samba

O Samba tem uma base de senhas própria. Cadastre as seis contas com smbpasswd -a (mesma senha de laboratório) e liste-as com sudo pdbedit -L E7

3.5Testar pela rede

  1. Liste os compartilhamentos como Ana: smbclient -L //localhost -U ana E8
  2. Ana envia um arquivo para o financeiro e lista a pasta:
    smbclient //localhost/financeiro -U ana -c 'put /etc/hostname teste_smb.txt; ls'
    Depois, no servidor, mostre com ls -l /srv/empresa/financeiro o dono e o grupo do arquivo. E9
  3. Carla tenta acessar o financeiro com -c 'ls'. Deve ser negado. E10
  4. O estagiário acessa publico, lista a pasta e tenta enviar um arquivo. A listagem funciona; o envio é negado. E11
Desafio extra (opcional): descubra o IP da VM com ip -br a, coloque a placa de rede em modo bridge e acesse \\IP-DA-VM\publico pelo Explorador de Arquivos do Windows.

Parte 4 — Administração do dia a dia

1,5 pt

4.1Transferência de setor

O Bruno foi transferido do Financeiro para o RH. Tire-o do grupo financeiro e coloque-o no rh sem que ele perca o grupo colaboradores. Mostre id bruno E12

4.2Desligamento

O Diego saiu da empresa. Os arquivos dele precisam ser preservados para auditoria, então a conta não deve ser apagada. Bloqueie-a no Linux e desative-a no Samba. Mostre sudo passwd -S diego e sudo pdbedit -v diego | grep -i flags E13

4.3Conta temporária

O contrato do estagiário termina em 18/12/2026. Configure a expiração da conta para essa data e mostre sudo chage -l estagiario E14

Parte 5 — Questões

1,5 pt

Responda com suas palavras (0,3 cada):

  1. Na tarefa 4.1, por que usar usermod -aG e não apenas usermod -G? O que aconteceria com o Bruno?
  2. O que o SGID faz quando aplicado a um diretório, e por que ele é importante nas pastas dos setores?
  3. Na E3, a pasta publico aparece com um T maiúsculo no final das permissões. O que ele indica e por que é maiúsculo?
  4. Os usuários já tinham senha no Linux. Por que foi necessário usar smbpasswd -a?
  5. O estagiário pertence ao grupo colaboradores, que tem permissão de escrita em publico, mas não conseguiu gravar pela rede. Explique por quê.

Checklist de entrega

0 de 19 itens prontos

Como entregar

Monte um único PDF chamado GSO3_Usuarios_SeuNome.pdf contendo:

  • Capa com nome completo, turma e data.
  • Prints E1 a E14, numerados, com o prompt gso3-seunome visível em cada um.
  • Respostas das questões 1 a 5, escritas por você.
Prints sem o hostname personalizado não serão considerados.
Enviar pelo Google Forms

Prof. Elton Alex Silva — ETEC Cachoeira Paulista, Classe Descentralizada de Piquete — Caderno de TI

Comentários

Postagens mais visitadas deste blog

Introdução aos Sistemas de Gerenciamento de Banco de Dados

Comandos de Rede via CMD

Introdução ao HTML, CSS e JavaScript - Guia para Iniciantes