Ficha 02 · Pacotes, permissões e serviços
- Gerir pacotes
- Gerir utilizadores
- Aplicar permissões
- Controlar serviços
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.