Sistemas Operacionais e Introdução a Programação (diário 2010-1) - Prova teórica - tipo A
Questão 1
- Vá ao diretório /etc/, copie o arquivo group para o diretório /var/tmp/etc/ (crie-o, se necessário).
- Copie o conteúdo desse arquivo (/var/tmp/etc/group) para o arquivo /var/tmp/etc/copias/grupo.
- Remova o arquivo anterior (/var/tmp/etc/group) e altere as permissões do novo (/var/tmp/etc/copias/grupo) para que somente o dono do novo arquivo possa ler e escrever - demais não tem qualquer acesso.
Apresentação da resposta
Apresente a sequência de comandos para a solução do problema em dois formatos:
- Utilizando endereços relativos.
- Utilizando endereços absolutos.
Resposta
- Utilizando endereços relativos: assumindo que o usuário aluno está no seu diretório pessoal, /home/aluno:
cd ../../var/tmp/ mkdir etc/ cp ../../etc/group etc/ cd etc/ mkdir copias/ cp group copias/grupo rm group chmod 600 copias/grupo
- Utilizando endereços absolutos (indifere o caminho atual do usuário):
mkdir /var/tmp/etc/ cp /etc/group /var/tmp/etc/ mkdir /var/tmp/etc/copias/ cp /var/tmp/etc/group /var/tmp/etc/copias/grupo rm /var/tmp/etc/group chmod 600 /var/tmp/etc/copias/grupo
Questão 2
- Quantos e quais usuários possuem processos no S.O. da sua estação de trabalho?
Dica: use o comando more para apresentar o resultado de um comando de forma paginada. Ex.: ls | more
Apresentação da reposta
Informe a quantidade e o nome de cada um dos usuários.
Resposta
Embora cada sistema possa apresentar pequenas variações, no laboratório de Redes II está instalado sistema Ubuntu Linux 9.10 versão desktop, onde a configuração padrão apresenta os seguintes usuários (assumindo o usuário aluno rodando o ambiente gráfico):
- root
- syslog
- avahi
- aluno
Questão 3
- Crie um script para finalizar todos os processos chamados firefox-bin. Ele deve:
- Enviar um sinal TERM para todos os processos com esse nome.
- Esperar por pelos 5s (comando: sleep 5) para que a aplicação feche normalmente.
- Enviar um sinal KILL para todos os processos com esse nome.
Apresentação da resposta
Apresente o script na forma de um arquivo executável, descrevendo a criação do arquivo e permissões mínimas de execução do programa.
Resposta
#!/bin/bash killall -TERM firefox-bin sleep 5 killall -KILL firefox-bin
Questão 4
- Na pasta pessoal do aluno (/home/aluno), crie um diretório chamado etc.
- Copie para esse diretório os arquivos /etc/passwd, /etc/shadow e /etc/group. Se não for possível copiar algum deles, explique o porquê.
- Para esse diretório novo (/home/aluno/etc), altere as permissões da seguinte forma:
- O grupo deve ser vboxusers.
- Leitura e escrita para dono e grupo, demais não têm acesso.
Dica: diretórios devem possuir permissão de execução quando houver permissão de leitura (mesmo não sendo executáveis).
Apresentação da resposta
Informe a sequência de comandos para a solução do problema. E responda à seguinte pergunta: o arquivo /home/aluno/etc/passwd também não estará acessível aos outros usuários, seguindo a lógica do diretório-pai. Por quê?
Resposta
- Primeira parte
cd /home/aluno/ mkdir etc/ cp /etc/passwd etc/ cp /etc/shadow etc/ cp /etc/group etc/ chgrp vboxusers etc/ chmod 770 etc/
- Segunda parte
O arquivo /etc/shadow não permite a leitura para o usuário aluno, portanto o arquivo não pode ser copiado.