Partilhar: WhatsApp
aulify
UC UC00626 · T. Sist. Comp. Redes

Ficha 02 · Pacotes, permissões e serviços

APT, utilizadores, chmod, systemd
Versão · Aluno
Tempo · 45 minutos
Cotação · 100 pontos
Aluno(a)
Turma
Data
Objectivos da ficha

Parte I · Pacotes

Exercício 1 · APT (15 pts)

Indica o comando APT para:

a) Atualizar o índice de pacotes. ___

b) Instalar o nginx. ___

c) Remover o nginx incluindo a configuração. ___

d) Procurar pacotes relacionados com "python". ___

e) Limpar dependências órfãs. ___

a) sudo apt update b) sudo apt install nginx c) sudo apt purge nginx d) apt search python e) sudo apt autoremove

Exercício 2 · snap/flatpak (10 pts)

a) Qual a vantagem e desvantagem de snap/flatpak face ao apt?

b) Quando preferirias cada um?

a) Vantagem: empacotam todas as dependências (funcionam em qualquer distro, versões recentes, sandbox). Desvantagem: maiores, mais lentos a arrancar, ocupam mais disco.

b) apt para software de sistema e servidores (leve, integrado). snap/flatpak para apps de desktop recentes que não estão no repositório ou exigem versão muito recente (ex.: Spotify, IDEs).

Parte II · Utilizadores

Exercício 3 · Gestão (15 pts)

Escreve os comandos para:

a) Criar a utilizadora "joana" com pasta home. b) Dar-lhe privilégios sudo. c) Verificar a que grupos pertence. d) Removê-la incluindo a home.

# a)
sudo adduser joana

# b)
sudo usermod -aG sudo joana

# c)
groups joana          # ou: id joana

# d)
sudo deluser --remove-home joana

Exercício 4 · root vs sudo (10 pts)

a) Porque é má prática trabalhar sempre como root?

b) O que faz sudo e onde se define quem pode usá-lo?

a) Como root qualquer comando errado ou malware tem poder total e irreversível sobre o sistema (apagar tudo, alterar configuração crítica). Sem rede de segurança.

b) sudo executa um comando com privilégios de root, pedindo a senha do próprio utilizador e registando em log (auditoria). Quem pode usar sudo define-se em /etc/sudoers (editado com visudo) ou pertencendo ao grupo sudo.

Parte III · Permissões

Exercício 5 · Ler permissões (15 pts)

Para -rwxr-x---:

a) Que tipo é (ficheiro/pasta)? b) O que pode o dono? c) O que pode o grupo? d) O que podem os outros? e) Qual o valor octal?

a) Ficheiro (começa por -). b) Dono: rwx — ler, escrever, executar. c) Grupo: r-x — ler e executar (não escrever). d) Outros: --- — nada. e) Octal: 750 (7=rwx, 5=r-x, 0=---).

Exercício 6 · chmod/chown (15 pts)

Escreve os comandos para:

a) Tornar deploy.sh executável por todos. b) Dar a um ficheiro permissões rw para o dono e r para grupo/outros. c) Mudar o dono de app/ (recursivo) para ana:devs.

# a) executável por todos
chmod +x deploy.sh           # ou: chmod 755 deploy.sh

# b) rw-r--r--  → 644
chmod 644 ficheiro

# c) dono recursivo
sudo chown -R ana:devs app/

Parte IV · Serviços

Exercício 7 · systemd (20 pts)

a) Comando para ver o estado do serviço nginx. (5 pts)

b) Comandos para arrancar o nginx agora e no boot. (5 pts)

c) Como ver os logs do nginx? (5 pts)

d) Cenário: o nginx não arranca. Descreve a abordagem de diagnóstico. (5 pts)

a)

systemctl status nginx

b)

sudo systemctl start nginx     # agora
sudo systemctl enable nginx    # no boot
# (ou ambos: sudo systemctl enable --now nginx)

c)

journalctl -u nginx            # logs do serviço
journalctl -u nginx -f         # em tempo real
sudo tail -f /var/log/nginx/error.log

d) Diagnóstico: 1. systemctl status nginx — ler a mensagem de erro e o Active:. 2. journalctl -u nginx -xe — detalhes do erro. 3. Testar a configuração: sudo nginx -t (mostra erro de sintaxe e linha). 4. Verificar se a porta 80/443 está ocupada: sudo ss -tulpn | grep :80. 5. Verificar permissões/caminhos dos ficheiros referidos na config. 6. Corrigir, sudo systemctl restart nginx, confirmar com status e curl localhost.