• No results found

SO - Aula 002

N/A
N/A
Protected

Academic year: 2020

Share "SO - Aula 002"

Copied!
33
0
0

Loading.... (view fulltext now)

Full text

(1)

Introdução ao ambiente UNIX

IF66C – Sistemas Operacionais

Carlos N. Silla Jr., Ph.D. [email protected]

(2)

Avisos

Horário de permanência:

 Segunda – 20:20 até 21:10  Quarta – 13:50 até 15:30

Local de atendimento:

(3)

Sessão de trabalho

 O uso de UNIX se baseia na noção de sessão de trabalho. Cada

usuário é designado por um nome de login, ou simplesmente login, com uma senha secreta associada.

 Uma sessão de trabalho típica consiste das seguintes etapas:

 O usuário identifica-se, fornecendo seu nome de login e sua senha ao

sistema.

 A sessão de trabalho inicia, com o lançamento do shell (modo texto) ou

do ambiente (modo gráfico).

 Uso do sistema (lançamento de comandos e aplicações).  Fim da sessão (operação de logout ou logoff).

 O UNIX pode gerenciar diversas sessões simultâneas de usuários

distintos na mesma máquina. Cada um terá uma visão independente e transparente dos recursos disponíveis, sem conflitos ou interferências.

 O UNIX pode gerenciar diversas sessões simultâneas de usuários

distintos na mesma máquina. Cada um terá uma visão independente e transparente dos recursos disponíveis, sem conflitos ou

(4)

Interfaces gráficas

No UNIX a interface gráfica é completamente separada

do núcleo do sistema operacional. Isso permite uma

grande versatilidade em relação aos ambientes gráficos

disponíveis.

A interface gráfica é construída em dois níveis:

 O servidor gráfico X-Window, que oferece as funcionalidades

gráficas básicas, gerencia entidades básicas como regiões de tela e trata eventos relacionados à interface (como operações de mouse e teclado).

 O ambiente de trabalho, composto por vários processos, que

(5)
(6)

Interfaces Gráficas

 Algumas características importantes diferenciam a arquitetura

gráfica do UNIX daquela implantada em outros sistemas:

 O ambiente gráfico é implementado fora do núcleo. Com isso

eventuais falhas na interface gráfica não comprometem a estabilidade do sistema.

 A comunicação entre o servidor gráfico, o ambiente e as aplicações é

feita através de sockets TCP/IP, usando um protocolo especial chamado X-Protocol. Com isso é possível estabelecer conexões gráficas entre aplicações e servidores gráficos em máquinas separadas.

 Os processos que implementam o ambiente de trabalham são

executados com o identificador do usuário (UID), com isso várias

sessões gráficas distintas podem ser suportadas na mesma máquina, em displays distintos.

 Existem dezenas de possibilidades de ambientes gráficos distintos, à

(7)

Documentação On-line

 O sistema UNIX implementa um sistema de documentação

on-line simples, mas bastante útil e eficiente, chamado páginas de manual (man pages). As páginas de manual estão estruturadas em sessões:

 Sessão 1: Comandos do usuário.

 Sessão 2: Chamadas ao sistema operacional (em linguagem C)  Sessão 3: Bibliotecas e funções standard (idem)

 Sessão 4: Descrição de dispositivos e formatos de arquivos de dados  Sessão 5: Formato de arquivos de configuração

 Sessão 6: Jogos  Sessão 7: Diversos

 Sessão 8: Comandos de administração do sistema

 O acesso às páginas de manual é normalmente efetuado através do

(8)

Usuários e grupos

 Cada usuário registrado possui um nome de login, uma senha

e um identificador numérico associado (UID).

 Os usuários são organizados em grupos.

 Um usuário sempre pertence a um grupo primário e pode

pertencer a outros grupos secundários.

 Cada grupo é identificado por um nome e um identificador de

grupo (GID).

 O comando id user permite visualizar as informações de

usuários e grupos.

 O comando finger user oferece informações adicionais sobre

o usuário.

 A informação de usuário e grupo é usada pelo sistema para

(9)

O usuário root e outros usuários especiais

 O usuário com UID = 0 é chamado “root” e possui poderes

especiais no sistema:

 Acesso a todos os arquivos e diretórios  Reboot/shutdown do sistema

 Lançamento e cancelamento de qualquer processo

 Montagem de diretórios de rede e de dispositivos externos

 Assim, torna-se óbvio que a senha de root é de grande

importância para a segurança do sistema.

 Além do root, outros usuários são definidos para a

implantação de serviços específicos. Esse é o caso dos

usuários “bin”, “daemon”,“lp”,“mail”, “news”, “ftp” e

“nobody”, que não correspondem a seres humanos.

(10)

O shell básico

O shell é um programa que permite o uso do sistema

através de uma interface em linha de comandos.

Existem diversos estilos de shell, sendo os mais comuns

o

Bourne Shell

(sh) e o

C-Shell

(csh).

Apesar da interface em linha de comandos ser um

conceito considerado antiquado, o shell oferece

mecanismos para tornar a vida do usuário muito simples

e produtiva.

Além disso, é uma ferramenta de valor inestimável para

(11)

Características do sistema de arquivos UNIX

 É estruturado na forma de uma árvore única, iniciando pelo

diretório ”/”, que é chamado de “raiz”.

 Há suporte para arquivos, diretórios e links (atalhos).

 Os arquivos podem ter qualquer nome, usando quaisquer

caracteres, com distinção entre maiúsculas e minúsculas. Os nomes são normalmente limitados a 255 caracteres.

 O caractere separador de diretórios é o ”/” (barra).

 Arquivos e diretórios cujos nomes começam com “.” (ponto) são

considerados “ocultos” e normalmente não aparecem nas listagens de diretórios.

 As extensões são normalmente usadas apenas para facilitar a vida

do usuário, mas não são importantes para o sistema operacional, que não depende delas para identificar o conteúdo de um arquivo.

 Os arquivos e diretórios possuem permissões de acesso

(12)

Principais diretórios

 Os diretórios de um sistema de arquivos UNIX têm uma

estrutura pré-definida, com poucas variações. A seguir ilustramos os principais:

 /home: raiz dos diretórios home dos usuários.  /boot: arquivos de boot (núcleo do sistema, etc)

 /var: arquivos variáveis, áreas de spool (impressão, e-mail, news), arquivos de log

 /etc: arquivos de configuração dos serviços  /usr: aplicações voltadas aos usuários

 /tmp: arquivos temporários

 /mnt: montagem de diretórios compartilhados temporários  /bin: aplicações de base para o sistema

(13)

O diretório HOME

 Cada usuário possui um diretório especial, chamado

diretório home” (casa), onde são armazenados:  arquivos e diretórios pessoais de trabalho

 e-mails já lidos (folders pessoais)  arquivos de configuração individuais  configuração das aplicações usadas

 O diretório home do usuário é o seu local de início de sessão

de trabalho (via shell ou gráfica). O usuário possui plenos poderes de acesso ao seu diretório home (e seus

sub-diretórios), e normalmente não pode criar arquivos fora dele.

 O diretório home de cada usuário é normalmente inacessível

(14)

Comandos básicos

Os comandos a seguir implementam operações básicas

em arquivos:

ls

: listar o conteúdo do diretório corrente (ou de um

diretório dado).

rm

: remover arquivos.

mv

: movimentar arquivos.

cp

: copiar arquivos.

cat

: apresentar o conteúdo de arquivos.

more

: visualizar o conteúdo de arquivos (paginado).

(15)

Comandos básicos

 Os comandos usados para navegação na árvore de diretórios

são similares aos usados em outros sistemas operacionais:

“pwd” : indica qual o diretório corrente do shell.  “cd” : troca de diretório:

“cd “dir : muda para o diretório dir.

“cd ..” : muda para o diretório pai imediatamente superior.

“cd -“ : volta para o último diretório visitado.

“cd ~user” : vai para o diretório HOME do usuário indicado.

“cd” : volta ao diretório HOME.

(16)

Comandos avançados

Os comandos abaixo são muito úteis na manipulação de

arquivos:

“grep”

: permite procurar strings dentro de arquivos de

texto. Exemplos:

Procurar todas as linhas contendo 'tcsh' em /etc/passwd

grep tcsh /etc/passwd

Procurar todas as linhas que não contenham tcsh em

/etc/passwd

(17)

Comandos avançados

“find” : permite encontrar arquivos que satisfaçam certas características.  Procurar todas as entradas “*txt” dentro do diretório /usr:

find /usr -name '*txt' –print

 Procurar todas as entradas *ab* ou *cd* presentes em /opt:

find /opt -iname '*ab*' -or -iname '*cd*„

 Procurar todas as entradas acessadas a mais de 3 dias em /etc:

find /etc -atime +3

 Procurar todas as entradas modificadas a menos de 2 dias em /etc que tenham mais

de 5 Kbytes de tamanho:

find /etc -mtime -2 -and -size +5k

 Procurar todos os diretórios dentro de /opt cujo grupo tenha acesso em escrita:

(18)

Comandos avançados

“touch”

: atualizar a data de um arquivo

“diff”

: comparar dois arquivos, mostrando as diferenças

entre eles.

Para maiores informações sobre as opções disponíveis

(19)

Compressão de arquivos

 Tradicionalmente, a compressão de arquivos em UNIX é feita

em dois passos:

1. Aglutinação dos arquivos e diretórios em um único grande arquivo,

usando o comando tar.

2. Compressão do arquivo único, usando comandos

como compress, gzip ou bzip2.

 O comando tar é bastante antigo, e significa Tape

ARchiving (tar também é “piche” em inglês, o que sugere o processo de aglutinação).

 Ele era muito usado para copiar diretórios em fitas magnéticas.  Com as opções adequadas, permite guardar diversos arquivos

(20)

Compressão de arquivos

Sua sintaxe básica é:

Para criar um arquivo ”.tar”:

“tar cvf arq.tar dir1 dir2 dir3 …”

Para abrir um arquivo ”.tar”:

“tar xvf arq.tar”

(21)

Compressão de arquivos

 As principais opções do comando tar são:

“c” : criar um novo arquivo ”.tar” com o nome indicado  “x” : extrair dados do arquivo ”.tar” indicado

“t” : listar o conteúdo do arquivo ”.tar”indicado

“v” : verbose, mostra detalhes na tela sobre o que está sendo

feito

“f” : indica que o próximo parâmetro é o nome do arquivo

”.tar” a ser usado. Caso não seja indicado, é usado o conteúdo da variável $TAPE, ou o arquivo /dev/rst0 (fita magnética).

“z” : para comprimir/expandir os arquivos tratados usando o

gzip (ver abaixo).

“Z” : para comprimir/expandir os arquivos tratados usando o

(22)

Compressão de arquivos

Após feita a aglutinação, pode-se

compactar

o arquivo

usando-se um dos comando abaixo:

“compress”

: compactador standard do UNIX, hoje em

dia pouco usado, mas presente em todas as plataformas.

Gera arquivos com extensão ”.Z”.

“gzip”

: GNU-Zip, um compactador extremamente

popular, é muito eficiente. Gera arquivos com extensão

”.gz”.

“bz2”

: De uso recente e ainda pouco difundido,

certamente será muito usado nos próximos anos, por ser

ainda mais eficiente que o gzip. Gera arquivos com

(23)

Compressão de arquivos

 Um procedimento muito usado é o uso combinado dos

comandos tar e gzip, através das opções “z” e “Z” do comando tar.

 Assim, para obter um arquivo comprimido “corrente.tar.gz”

com todo o conteúdo do diretório corrente, basta executar o seguinte comando:

tar czvf corrente.tar.gz .

(atenção ao ”.”, que indica o diretório corrente)

 Os arquivos ”.tar.gz” também costumam ser nomeado como

”.tgz”, e definem o formato da maior parte dos arquivos UNIX encontrados na Internet.

 Arquivos nesse formato também podem ser abertos pelas

(24)

Informações em arquivos

 Vários comandos permitem obter maiores informações sobre

arquivos e sistemas de arquivos. Eis os principais:

“stat” : detalhes sobre um arquivo ou diretório (i-nodes).

stat /usr/bin/ls

“file” : identificar o conteúdo de um arquivo, analisando-o.

file /etc/* | more

“whereis” : indica onde estão os binários, fontes e páginas de

manual de um comando dado.

whereis ls

“which” : indica o caminho completo para o comando dado.

(25)

Informações em arquivos

“du”

: indica o espaço usado em disco pelos arquivos ou

diretórios dados.

du $HOME

“df”

: informações sobre os sistemas de arquivos

disponíveis na máquina e sua ocupação.

df

“tree”

: apresenta na tela uma estrutura de diretórios,

com ou sem os arquivos.

(26)

Permissões de acesso em arquivos

O UNIX possui um sistema de controle de acesso ao

sistema de arquivos seguindo o paradigma de Listas de

Controle de Acesso (ACL -

Access Control Lists

). A cada

arquivo ou diretório são associados:

Um

usuário

proprietário (

owner

). Normalmente é quem

criou o arquivo.

Um

grupo

proprietário. Normalmente é o grupo

primário de quem criou o arquivo, mas este pode

mudá-lo para outro grupo do qual ele também faça parte.

Permissões de acesso

definidas para o

usuário

,

(27)

Permissões de acesso em arquivos

 As permissões definidas para os arquivos são:

Leitura, permitindo acesso ao conteúdo do arquivo.  Escrita, permitindo modificar o conteúdo do arquivo.

Execução, permitindo executar o arquivo (caso seja um executável ou

script).

 As permissões definidas para os diretórios são similares:

Leitura, permitindo acesso ao conteúdo do diretório (listar os arquivos

presentes).

Escrita, permitindo modificar o conteúdo do diretório (criar ou apagar

arquivos).

Execução, permitindo entrar no diretório, ou atravessá-lo.

 Pode-se afirmar que um arquivo é protegido contra leituras ou

modificações por suas próprias permissões, e contra apagamentos ou renomeações pelas permissões do diretório onde ele se

(28)

Consultando permissões

As permissões de acesso a arquivos e diretórios podem

(29)

Permissões

 As entradas de diretório em um sistema UNIX têm seu tipo

indicado pelo primeiro caractere da listagem de diretório longa. Os tipos de entradas mais freqüentes são:

 - : arquivo normal  d : diretório

 l : link simbólico (atalho)

 b : dispositivo (mapeado em /dev/) orientado a blocos (como os

discos rígidos)

 c : dispositivo (mapeado em /dev/) orientado a caracteres (como

modems e portas seriais)

 s : socket mapeado em arquivo (para comunicação entre processos)  p : FIFO ou Named Pipe (outro meio de comunicação entre

(30)

Permissões

Os demais caracteres representam os direitos de acesso

do usuário (

user

), do grupo (

group

) e de terceiros (

others

),

em grupos de três caracteres:

r : permissão de leitura (

read

).

w : permissão de escrita (

write

).

x : permissão de execução (

eXecute

).

- : indica que o respectivo direito está negado.

(31)

Permissões - Exemplo

-rw-r--- 1 silla users 4956 mar 26 20:34 descricao.html

 A linha de listagem acima indica que:

 A entrada corresponde a um arquivo normal (o primeiro

caractere é -).

 O proprietário do arquivo descricao.html é o usuário silla.  O proprietário possui direito de leitura e escrita sobre o

arquivo, mas não de execução.

 O arquivo também pertence ao grupo users.

 O grupo possui apenas direito de leitura sobre o arquivo.

 Outros usuários (terceiros) não possuem nenhum direito de

(32)

Exercícios (Entrega: 21/11/2012)

 1. O comando ls permite obter listagens de diretórios sob

várias formas.

 Consulte a página de manual do comando e execute-o de

forma a obter listagens da seguinte forma:

 Listagem longa do diretório home, com detalhes. O que significa cada coluna da listagem ?

 Listagem curta do diretório home, incluindo os arquivos escondidos.

 Listagem longa de ”/var/spool/mail”, ordenada por tamanho dos arquivos

 Listagem longa de ”/etc”, ordenada alfabeticamente

 Listagem longa de ”/home”, ordenada por datas crescentes

(33)

Exercícios (Entrega: 21/11/2012)

2. Use o comando

find

para encontrar todos os links

simbólicos presentes em

/usr.

3. O arquivo ”/var/log/messages “contém todos os logins

recentes efetuados no sistema. Analise a estrutura do

arquivo (usando o comando

more

); a seguir, use o

comando

grep

para localizar os seus acessos.

4. Crie um arquivo .tar, com o conteúdo do seu diretório

$HOME. A seguir, compacte-o usando os

References

Related documents

1 Read the text and mark the correct answer (a–c) to each question (5–8). She was born near Bordeaux in France, where her father was a rich businessman.Today she lives in an

Communication skills and service team statement that will need to channel your objective statement is leadership vision of continuous improvement on how the quality Schools are

The pathological diagnosis was epithelioid angiomyolipoma (EAML) of the left kidney. EAML is a rare tumor with malignant potential. 1A

The analyzed 28.7 mbar data was taken with the PAL chamber pressure being held constant and after the air circulation had quieted, so the wind speeds used for the

Incident Response Specialist Intrusion Analyst Security Operations Specialist 71 Job Responsibilities Developed in SGC Phase I 11 Job Responsibility Areas. Certifications

Our new variants of the Spiral- and 2D-technique retain the overall arrangement of the Spiral- and 2D- technique, centering the most relevant data items in the middle of the screen,

Shader State Uniform Buffers Vertex Buffers Index Buffers Tesselation State Rasterizer State Depth/Blend States Pixel Shader State Framebuffer State.. Graphics State

Most insurance companies moved from outsourcing support to high cost product companies to the dual shore support model.. In this model, the cost gets reduced as the