Você está na página 1de 2

Nome: ___________________________________

Nº ESTG: __________________________

Aval. periódica EI/ Sistemas Operativos

Prova prática – 2022.04.20 / A


Licenciatura em
Engenharia Informática
UC de Sistemas Operativos
1º ano – Engenhar ia Informática
Regime Diurno
Ano letivo 20 21/2022 - 2ºSemestre

Prova prática #1 – Aval. Periódica – Enunciado A


2022.04.20 / 14h30’ Prova com Consulta Duração: 75 minutos

Nome completo: __________________________________________________________________________


N.º de estudante: ____________________ Regime: [ ] Diurno [ ] Pós-laboral

IMPORTANTE
É expressamente proibido o recurso à Internet durante a prova. Qualquer utilização não autorizada da Internet leva à anulação
da prova e ao reportar da situação às autoridades competentes. O mesmo sucede com outros tipos de tentativa de fraude.
• Antes de iniciar a prova:
▪ Execute os seguintes comandos:
cd; mkdir -p ~/SOProva1/R_NUMERO/
(em que R deve ser substituído pela letra D se for do regime diurno e N se for aluno do regime pós-laboral e NUMERO deve
ser substituído pelo seu número ESTG);
▪ Para garantir que o seu diretório de trabalho seja o correto, faça:
cd ~/SOProva1/R_NUMERO/
• Após ter terminado a prova:
▪ Deverá proceder à criação de um arquivo TAR, fazendo uso do seguinte comando:

cd ~/SOProva1/R_NUMERO/; tar cvf SOProva1_YYYYMMDD_R_NUMERO.tar *


(em que YYYYMMDD corresponde à data corrente – e.g., 20220420 – e R_NUMERO obedece ao formato acima indicado);
▪ Verifique que o arquivo “.tar” que criou não está vazio, através da execução de:
tar tvf SOProva1_YYYYMMDD_R_NUMERO.tar
▪ Entregue o arquivo “.tar” através da plataforma moodle, no espaço reservado para o efeito. Em caso de dúvidas, pergunte ao
professor;
▪ Informe o professor para este validar a receção dos seus ficheiros.

Pergunta 1 [12 valores]


(Escreva as suas respostas a esta pergunta no ficheiro ”~/SOProva1/R_NUMERO/perg1.txt”. No cabeçalho do seu ficheiro
deve indicar o seu número e nome completo)
a) Indique a linha de comando que permite obter a contagem de todos os ficheiros regulares com
extensão ‘.html’ existentes no diretório /usr/share/doc e subdiretórios.
b) Indique a linha de comando que permite obter a data do registo de log mais recente introduzido
no ficheiro /var/log/syslog.
c) Indique a linha de comando para obter os GIDs (Group Identifiers) de todos os grupos aos quais
o utilizador corrente pertence. O resultado deve ser guardado num ficheiro de texto contendo um
GID por linha. Este deve ficar localizado na diretoria home do utilizador, com a designação
mygids-DATA.txt. O termo DATA deve ser substituído pela data corrente no seguinte formato:
YYYYMMDD_hhmm (e.g 20220420_1416).

1/2
Pergunta 2 [8 valores]
(Escreva as suas respostas a esta pergunta na diretoria “~/SOProva1/R_NUMERO/Pergunta2”. Deve indicar o seu nome
completo e número IPLeiria na 2ª linha do seu ficheiro script).

Elabore o script BASH cert-dates.sh. O script deve criar um ficheiro de texto com a listagem de todos
os certificados digitais existentes no diretório /etc/ssl/certs (considere que um certificado digital é um
ficheiro cujo nome tem a extensão “.pem”). A listagem deve conter, por cada linha, o caminho absoluto
para o certificado digital e a respetiva data de expiração. A data de expiração de um certificado digital
pode ser obtida com recurso ao comando openssl, de acordo com o exemplo seguinte:

$ openssl x509 -enddate -noout -in /etc/ssl/certs/Amazon_Root_CA_1.pem

Que produz a seguinte saída:

notAfter=Jan 17 00:00:00 2038 GMT

Desta forma, é possível determinar que o ficheiro /etc/ssl/certs/Amazon_Root_CA_1.pem irá expirar no


dia 17 de janeiro de 2038.
O script deve, por isso, extrair a data de expiração de cada certificado digital localizado no diretório
/etc/ssl/certs e guardar essa informação num ficheiro de texto no caminho /tmp/cert-dates.txt. O conteúdo
deste ficheiro deverá respeitar o exemplo seguinte:

2030-12-31: /etc/ssl/certs/ACCVRAIZ1.pem
2030-01-01: /etc/ssl/certs/AC_RAIZ_FNMT-RCM.pem
2030-09-22: /etc/ssl/certs/Actalis_Authentication_Root_CA.pem
2030-12-31: /etc/ssl/certs/AffirmTrust_Commercial.pem
2030-12-31: /etc/ssl/certs/AffirmTrust_Networking.pem
2040-12-31: /etc/ssl/certs/AffirmTrust_Premium_ECC.pem
2040-12-31: /etc/ssl/certs/AffirmTrust_Premium.pem
2038-01-17: /etc/ssl/certs/Amazon_Root_CA_1.pem
2040-05-26: /etc/ssl/certs/Amazon_Root_CA_2.pem
2040-05-26: /etc/ssl/certs/Amazon_Root_CA_3.pem
2040-05-26: /etc/ssl/certs/Amazon_Root_CA_4.pem
2030-12-31: /etc/ssl/certs/Atos_TrustedRoot_2011.pem
(…)
Sugestão: opção --iso-8601 do comando date

2/2

Você também pode gostar