Sistemas Operacionais (técnico)

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

CÓDIGO DA UNIDADE CURRICULAR -
CARGA HORÁRIA: 2 horas/semana = 40 horas.
PRÉ REQUISITOS: , , ,
UNIDADES CURRICULARES CLIENTES: Redes de Computadores , , ,

Competências

Habilidades

Bases Tecnológicas

Diários de Aula

Aula 9 - Ainda Permissões de acesso a arquivos e diretórios - Uso da umask e exercícios complementares

Objetivos

  • Uso da umask;
  • Exercícios adicionais.

Uso da umask

A umask é uma palavra binária que permite definir quais são as permissões que serão dadas na criação de um arquivo ou de um diretório. A regra geral para formação destas permissões é:

  • Para arquivo: 666 AND (NOT umask);
  • Para diretório: 777 AND (NOT umask);

Ou seja, suponha que vamos criar um arquivo. A umask pode ser verificada com o comando:

umask

Normalmente esta máscara é 022. Se você criar um arquivo ele terá as seguintes permissões:

666 AND (NOT 022) = 666 AND 755 = 644

Ou seja, direito de rw para usuário, r para grupo e outros.

Para diretórios seria:

777 AND (NOT 022) = 777 AND 755 = 755

Ou seja, direito de rwx para usuário, rx para grupo e outros.

Se você usar o comando:

umask -S

será possível visualizar estas permissõeses de forma simbólica.

Usando a umask

  • Modifique a umask para que todos os arquivos criados para outros tenham direito de leitura e escrita (e execução para diretórios). Basta aplicar o comando umask e a máscara a ser aplicada;
  • Crie um arquivo qualquer:
touch teste.txt
  • Crie um diretório qualquer qualquer:
mkdir teste
  • Confira os resultados:
ls -l
  • Volte a umask ao valor inicial

Exercícios adicionais

Usando uma máquina virtual, como na aula anterior, criar 4 usuários: joao, maria, jose e lara. Os usuários joao, maria e lara pertencem a um grupo projX, que também deve ser criado (se ainda não existir).

Algumas restrições de permissão

O usuário joao possui os seguintes diretórios: docs_outros, docs_pessoais e docs_projX. Ele colocou as seguintes restrições de acesso:

  1. Em docs_pessoais somente joao pode criar arquivos e diretórios. Em docs_projX, somente joao e os integrantes do grupo projX podem criar arquivos e entrar no diretório;
  2. Em docs_outros qualquer um pode entrar e listar o diretório mas não pode criar ou renomear arquivos no mesmo;

Testando permissões

  1. Logue como joao e crie os arquivos alfa.txt e beta.txt no diretório docs_pessoais com direito de acesso a somente leitura para outros. Dê acesso a leitura e escrita para proprietário e grupo.
  2. Logue como maria e teste os direitos de acesso aos diretórios criados por joao.
  3. Logue como jose e tente entrar nos diretórios criados por joao. Qual deles permite este acesso?
  4. Faça lara criar um arquivo em docs_projX;


Aula 10 - Entradas e Saídas Padrão

Objetivos

  1. Conceituar e trabalhar entradas e saída padrão, saída de erros padrão e pipes;
  2. Trabalhar os comandos cut, find, wc, grep, head e tail.

Redirecionamento de entrada e saídas

Sempre existem 3 arquivos "abertos" por default para um determinado processo. São eles a entrada padrão (stdin, normalmente associada ao teclado), stdout(normalmente associada a tela) e a saída padrão de erros (stderr, normalmente associada a tela). Estes arquivos podem ser modificados resultando no que se chama de redirecionamento das entradas e saídas do processo.

Cada arquivo aberto, associado a um processo, possui um descritor identificado por um número que se constitui em um índice de uma tabela de arquivos abertos associados ao processo. Segue-se um resumo da forma de realizar redirecionamento.

Redireção de stdout (arquivo lista é sobrescrito):

ls > lista

Redireção de stdout fazendo um append ao arquivo de saída:

ls >> lista

Cria/sobreescreve um arquivo de tamanho zero, similar ao touch

> lixo

Resumo das redireções das saídas:

  • 1>filename # Redireciona stdout para o arquivo filename
  • 1>>filename # Redireciona e acrescenta a stdout para o arquivo filename
  • 2>filename # Redireciona stderr para o arquivo filename
  • 2>>filename # Redireciona e faz append da stderr para o arquivo filename
  • &>filename # Redireciona ambos stdout and stderr para o arquivo filename

Exercícios

  • Listar o diretório corrente, de forma detalhada e em ordem crescente de modificação, redirecionando a saída para um arquivo ListaOrdenada:
ls -l > ListaOrdenada
  • Acrescentar ao final (append) do arquivo ListaOrdenada, a data atual:
date >> ListaOrdenada
  • Criar um arquivo chamado teste1, com a frase “Alo Mundo”, usando o comando echo e redirecionamento de saída:
echo Alo Mundo > teste1
  • Criar um arquivo vazio usando somente > arquivo;
> ArquivoVazio

Acho que esta é a forma mais rápida de criar um arquivo vazio!

  • Aplicar um comando ls ao diretório /eetc (intecionalmente errado) redirecionando a saída para lixo1:
ls /eetc > lixo1
  • Conferir o conteúdo de lixo1
cat lixo1
  • Repetir o comando ls ao diretório /eetc (intecionalmente errado) redirecionando a saída de erro para lixo2;
ls /eetc 2> lixo2
  • Conferir o conteúdo de lixo2
cat lixo2
  • Ordenar o arquivo passwd:
sort < /etc/passwd > PasswdOrdenado

Referências Bibliográficas

Professores da Unidade Curricular


Grade do Curso Técnico de Telecomunicações com ênfase em Telefonia
Grade do Curso Técnico de Telecomunicações com ênfase em Redes de Computadores