You are on page 1of 470

Ncleo de Computao Eletrnica Universidade Federal do Rio de Janeiro

Linux
Marcio Thadeu Young
Tel. (21) 598-3396 Fax. (21) 598-3180
e-mail: marcio@nce.ufrj.br
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux: uma aventura


Shut your windows, the penguins are coming.

Linux 2

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Objetivos do curso
Fornecer os componentes e as caractersticas do Sistema Operacional; Reconhecer as regras bsicas para a execuo de uma linha de comandos; Acessar informaes atravs dos manuais de referncia;

Linux 3

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Objetivos do curso
Conhecer a organizao dos arquivos Unix, bem como os comandos de manipulao de arquivos e diretrios; Administrao bsica; Configurao de rede; Configurao de servios na internet; Aspectos de segurana.

Linux 4

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Pr-requisito
Conhecimento da utilizao de computadores

Linux 5

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Bibliografia recomendada
Usando Linux - Especial
Jack Tackett Jr, Steven Burnett
Editora Campus, 5 Edio

Dominando o Linux
Matt Welsh, Lar Kaufman
Editora Cincia Moderna

Usando Linux
Bill Ball
Editora Campus
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 6

Bibliografia recomendada
Introduction to Unix
Frank G. Fiamingo, Linda DeBula, Linda Condron
University Technology Services - The Ohio State University http://www-wks.uts.ohio-state.edu/unix_course/unix.html

Unix System Administration


Frank G. Fiamingo
University Technology Services - The Ohio State University http://www-wks.uts.ohiostate.edu/sysadm_course/sysadm.html

Linux 7

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Referncias
Internet
http://slashdot.org http://www.linux.org http://www.linux.com http://www.conectiva.com.br http://linuxberg.uol.com.br http://www.kernel.org

Linux 8

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Referncias
Internet
http://ww.linuxdoc.org http://www.ssc.com http://www.samba.org http://www.tucows.com

Linux 9

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Ementa
O que ? Distribuies Conceitos bsicos Sistema de arquivos Instalao UNIX bsico Processo de inicializao

Linux 10

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Ementa
Administrao bsica XWindow Redes (TCP/IP - Internet / Intranet) Integrao com Windows

Linux 11

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Introduo

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

O que ?
Linux (GNU-Linux) um sistema operacional multiusurio, estvel e gratuito
sob a GPL (General Public Licence) - GNU)

Unix Like Disponvel para plataformas Intel X86, Sparc, Alpha, Power PC, Crusoe, ARM, MC680X0, etc. Base de 12 milhes de usurios fanticos, crescendo exponencialmente.
Linux 13
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

O que ?
Amplo suporte na internet Cdigo aberto Parte do movimento open source software Para mais informaes veja:
http://www.linuxjournal.com/aboutlinux/what.html

Linux 14

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Desenvolvimento do Unix
1965
Bell Laboratories, MIT e General Electric unem-se num esforo conjunto para o desenvolvimento de um novo Sistema Operacional, Multics (Multiplexer Information Computer Service), que seria multi-usurio, multi-processador e multi-nvel (hierrquico), entre outras facilidades;

Linux 15

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Desenvolvimento do Unix
1969
Descontente com o andamento, a AT&T abandona o projeto Multics; Alguns programadores dos Laboratrios Bell (Ken Thompson, Dennis Ritchie, Rudd Canaday e Doug McIlroy) que trabalhavam no projeto, desenvolveram e implementaram a primeira verso do Sistema de Arquivos Unix em um PDP-7; O nome Unix foi dado por Brian Kernighan, como trocadilho ao nome Multics.
Linux 16
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Desenvolvimento do Unix
1 de Janeiro de 1970
Marco zero do Unix

1971
O Sistema roda em um PDP-11, com 16 Kbytes de memria e 512 Kbytes de disco

1973
Re-escrito quase integralmente na linguagem C (exceto o kernel), o que tornou o Sistema facilmente portvel para outras mquinas

Linux 17

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Desenvolvimento do Unix
1974
Aps artigo publicado por Thompson e Ritchie, o mundo acadmico toma conhecimento das potencialidades do Unix; A AT&T licencia o Unix para universidades, com a finalidade de ensino, e para empresas

1977
Cerca de 500 instalaes Unix mundo afora

Linux 18

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Desenvolvimento do Unix
1980
BSD 4.1 (Berkeley Software Development); A Microsoft lana o Xenix

1982
Surge a Sun Microsystems

1984
Cerca de 100.000 instalaes diferentes plataformas Unix, em

Linux 19

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Desenvolvimento do Unix
1987
Desenvolvimento conjunto da AT&T e Sun Microsystems do System V Release 4 (SVR4)

1991
Linus Torvalds decide portar o Sistema Unix para a plataforma x86 (micros do tipo PC)

Hoje
Unix marca registrada de The Open Group Largamente disseminado e disponvel em vrias verses, comerciais e gratuitas
Linux 20
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Desenvolvimento do Linux
1991
1 usurio
Linus Torvards cria o linux na Finlndia estudo acadmico de sistemas operacionais inspirado no minix 10.000 linhas de cdigo

1992
1.000 usurios
suporte ao compilador gcc 40.000 linhas de cdigo
Linux 21
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Desenvolvimento do Linux
1994
100.000 usurios
Suporte a redes Auxlio de centenas de programadores espalhados pelo mundo 170.000 linhas de cdigo

1996
1,5 milhes de usurios
Roda em mquinas Alpha e Sparc Aceita multiprocessadores 400.000 linhas de cdigo
Linux 22
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Desenvolvimento do Linux
1997
3,5 milhes de usurios
boom do sistema
surgem revistas sobre linux uma verso a cada semana
J est na casa dos milhares o nmero de programadores envolvidos no desenvolvimento do sistema

800.000 linhas de cdigo

Linux 23

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Desenvolvimento do Linux
1998
7,5 milhes de usurios
Vrias verses de softwares so distribudas para o S.O. linux
Word Perfect Oracle (banco de dados) - incio de 1999

Popularizado entre provedores Internet Conectiva lana distribuio brasileira do RedHat 1,5 milhes de linhas de cdigo

Linux 24

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Algumas Implementaes
BSD OSF/1 SVR4

SunOS Solaris Linux AIX IRIX

HP-UX

DEC-OSF/1

Linux 25

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Plataformas
SUN Microsystems
SunOS (BSD com extenses) Solaris (System V)

IBM / RS6000
AIX (System V, com caractersticas da V.4, BSD e OSF/1)

Silicon Graphics Industries (SGI)


IRIX (System V)

Linux 26

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Plataformas
Hewlett Packard (HP)
HP-UX (System V, com caractersticas de OSF/1)

Compaq (Digital)
OpenVMS e Digital Unix (OSF/1)

x86
Linux, Solaris, SCO, UNIXWare (System V) FreeBSD, OpenBSD, NetBSD (BSD/OS)

Linux 27

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Plataformas
Obs:
OSF = Open Software Foudation, Inc. (AT&T Unix)

BSD = Berkeley Software Development

Linux 28

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Distribuies
Geradas por grupos de pessoas ou por uma entidade sob a GPL - GNU (GNU Public License - opy left) Distribuies podem cobrar pelo meio, mas no podem restringir/proibir a cpia e redistribuio Exemplos:
Mandrake Red Hat
Linux 29
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Distribuies
Exemplos (cont.):
Corel SUSE Debian Free BSD Open BSD Slackware

Linux 30

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Conectiva
Empresa brasileira com sede no Paran Eleita empresa inovadora do ano 1999 Info Exame Melhor Sistema Operacional de 1999 - Info Exame Instrues, manuais e livros em portugus (tambm disponveis na rede)

Linux 31

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Conectiva
Baseada na Red Hat Verses para sistemas pessoais, servidores, etc. J foi avaliada, e bem, pela revista Linux Journal Filiais no Brasil, Mxico, Colmbia

Linux 32

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

O que recebo?
Gerenciadores de Janelas: KDE, GNOME, WindowMaker, Enlightment, FVWM, etc. Offices: StarOffice, Applixware Editores: WordPerfect, Klyx, etc. Bancos de Dados: MySQL, PostGres, etc. Browsers: Netscape, lynx (texto) Programas Grficos: GIMP, Sane, Sketch, QCAD, etc.
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 33

O que recebo?
Servidor Web: Apache Linguagens: C, Perl, PHP, Pascal, Delphi, Phyton, etc. Editores de Pginas: Quanta, Nestcape, etc. Administradores de correio eletrnico, listas, etc. Webmail: Imp, FocalMail, etc. etc, etc, etc, etc,
Linux 34
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Quanto pago?
Custo total de todo este software:

R$ 0,00
Quem o dono?

A comunidade que desenvolve


Linux 35
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Algumas empresas que utilizam



Linux 36

IBM Netscape Corel Borland Oracle Compaq Dell Informix Unisys


2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

OReilly SGI Cisco Fluke Siemens Tetra Pak Byte Magazine Daimler Chrysler NASA

Algumas empresas que utilizam



Linux 37

Lucas Film Mercedes Benz Sony Boeing Northrop Grumman US Army US Navy FAB UFRJ

Caltech US Postal Services

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Conceitos Bsicos

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Conceitos Bsicos
Qual sistema operacional voc utiliza? Por qu? Sistema operacional? O que isto?

Linux 39

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Caractersticas do Sistema Unix


Multi-Usurio (MultiUser) Multi-Tarefas (MultiTasking) Portvel Sistema padro para workstations, disponvel em vrias verses.

Linux 40

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Sistema Multiusurio
Linux um sistema multiusurio Diversos usurios podem estar usando o mesmo computador ao mesmo tempo Claro que s um no teclado... (console) Onde mais de um pode mexer... (segurana)
Usurios Senhas Arquivos protegidos Mtodos de acesso ao computador
Linux 41
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Componentes do Sistema
Hardware Kernel System Calls Shell Comandos

Shell Kernel

Hardware
System Calls

Aplicaes
Linux 42
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Hardware
CPU Memria Um ou mais discos Console e terminais (acesso a partir de equipamentos ligados ao sistema) Linhas de comunicao Impressoras Unidades para CDs e/ou disquetes
Linux 43
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Kernel
Ncleo do sistema operacional Responsvel pela interface entre o hardware e as aplicaes Adaptado s caractersticas de hardware da mquina Implementa o sistema de arquivos
Trata as operaes de I/O Diretrios e arquivos

Gerencia os drives de acesso aos perifricos


Linux 44
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Kernel
Controla a execuo de processos
aloca memria implementa mecanismo de time slicing

Gerencia os daemons Cria mecanismos de memria virtual Gerencia os servios de rede Gerencia os processos de comunicao entre processos, tais como sockets, sinais e semforos
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 45

Kernel

Linux 46

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Kernel - Verses
Verses novas do Kernel so liberadas aps testes exaustivos Linus ainda envolvido com o processo Verso atual 2.2.n
2: Nmero principal 2: Nmero secundrio n: o Nmero da atualizao, ex. 2.2.17

Verso atual: 2.4.5 Verso em desenvolvimento: 2.4.6-pre5


Linux 47
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Kernel - Atualizao
possvel atualizar o seu kernel sem ter que trocar tudo. O kernel um programa que pode ser recompilado O kernel escrito em C Pode ser obtido em http://www.kernel.org

Linux 48

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Kernel - Modular
O kernel do linux modular Mdulos podem ser carregados a medida que o usurio necessita Sistema com mdulos e mais compacto

Linux 49

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

System Calls
A comunicao entre os utilitrios (processos) e o kernel realizada atravs de system calls (chamadas de funes do kernel) So idnticas em qualquer sistema Unix Aplicaes que s utilizam system calls padro operam da mesma forma em qualquer verso do sistema Unix, sem precisar sofrer modificaes
Linux 50
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Shell
Programas que aceitam e interpretam comandos dos usurios Linguagem de Programao Um arquivo de comandos de um dos shells chamado de script O processo de inicializao dos unixes baseado na execuo de scripts

Linux 51

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Shell
Existem diversas shells a disposio Mais comuns:
Bourne Shell (sh) Korn Shell (ksh) C Shell (csh) Bash (Bourne Again Shell) TCShell

Linux 52

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Shell - comandos
Usurio digita o comando ls em um terminal Shell procura onde est o programa ls Shell executa o programa e informa ao usurio a resposta Espera novo comando
$ ls textos $
programas dados.txt programa.c

Linux 53

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Shell - scripts
if [ -f /etc/redhat-release ]; then R=$(cat /etc/redhat-release) arch=$(uname -m) a="a"

case "_$arch" in
_a*) a="an";; _i*) a="an";; esac fi echo "Kernel $(uname -r) on $a $(uname -m)"
Linux 54
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Comandos
Coleo de pequenos programas para realizar funes especficas No Unix, os comandos costumam ser agrupados para a realizao de tarefas mais complexas Classes de comandos:
Operao do sistema Manipulao de arquivos Processamento de textos Comunicao, etc.
Linux 55
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Ciclo de execuo de um comando


Shell
Interpreta qualquer caracter especial Analiza os componentes da linha de comando Procura o arquivo do programa de comando e verifica a permisso de acesso ao mesmo Solicita que o kernel execute o programa de comando Passa as opes e argumentos vlidos do comando para o programa de comando

Linux 56

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Ciclo de execuo de um comando


Shell (cont.)
Permanece inativo durante a execuo do comando Exibe o prompt do comando shell depois que o programa termina a execuo

Linux 57

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Ciclo de execuo de um comando


Kernel
Copia o programa de comando do disco para a memria Executa o programa como um processo Retorna o controle ao shell depois de encerrado o comando

Linux 58

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Sistema de Arquivos

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Parties
C:, D:, E: so convenes do Windows (DOS) /dev/hda1, /dev/hda2, /dev/hdb1 a forma utilizada pelo Linux

Linux 60

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Parties em um HD: exemplo

swap /dev/hda2 [/home] /dev/hda1[/]

D:\ [Dados]
C:\ [Windows]
Linux 61
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Sistema de arquivos
O Linux organiza seu sistema de arquivos em uma rvore de diretrios
A raiz desta rvore o diretrio / Observe a barra ao contrrio do outro sistema.

Filesystem
A maneira como os arquivos so gravados no disco/partio Linux conhece a maioria dos filesystems entre eles:
MS-DOS, minix, ext2, iso9660, nfs, hpfs, sysv, vfat, etc.
Linux 62
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Sistema de arquivos
Mtodo para organizar e gerenciar informaes
Distribudo em nveis (hierrquico) Suporta um relacionamento pai/filho entre o diretrio e os arquivos e diretrios subordinados

Linux 63

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Sistema de arquivos
Tudo em Unix considerado arquivo Perifricos so arquivos especiais Associa um diretrio a um filesystem Transparente ao usurio do sistema Diversos sistemas de arquivos podem conviver sob Linux O mesmo no ocorre com o outro sistema.

Linux 64

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Sistema de arquivos
/
FileSystem bin /dev/hda1 /dev/hda2 /dev/fd0 /dev/cdrom etc mnt/ usurios home/

floppy cdrom pedro

ana

Linux 65

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Sistema de arquivos
C:\
/dev/hda /bin /etc /mnt /mnt/cdrom /mnt/floppy /home

D:\
/dev/hdb

/dev/cdrom /dev/fd0

Linux 66

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Nomes dos caminhos (paths)


Caminho absoluto
desde a raiz do sistema de arquivos (/) ex: /etc/hosts

Caminho relativo
a partir do diretrio corrente ex: marcio/a1.tar

Linux 67

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Tipos de Arquivos Unix


Diretrio
Ponteiro para outros arquivos e diretrios No contm dados

Normal
Conjunto de caracteres armazenados para uso futuro Contm dados variveis (texto, cdigo de programa)

Linux 68

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Tipos de Arquivos Unix


Especial
Ponteiro para um perifrico No contm dados Localizado no diretrio /dev

Links
Ponteiro para outro arquivo no sistema de arquivos do Unix

Linux 69

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Diretrios do sistema
/bin
Comandos fundamentais
ls, rm, cp, grep

/etc
Arquivos de configurao
passwd, inetd.conf, fstab

/root
Diretrio de trabalho do super usurio

Linux 70

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Diretrios do sistema
/tmp
Diretrio de arquivos temporrios

/boot
Onde se encontra o kernel e arquivos usados durante a inicializao
vmlinuz, System.map, map, boot

/sbin
Programas de uso do super usurio
route, swapon, mkfs, init

Linux 71

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Diretrios do sistema
/var
Arquivos de log, filas de mail e de impresso
/var/log/messages /var/spool/mqueue /var/spool/lpd

/usr/bin
Aplicaes de uso geral
gzip, who, gs, telnet

Linux 72

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Diretrios do sistema
/usr/sbin
Aplicaes de uso do super usurio
traceroute, daemons (sendmail, inetd)

/usr/local
Diretrio onde so instalados (por default) diversos aplicativos.
Netscape, WordPerfect, StarOffice

/lib, /usr/lib
Bibliotecas de programas
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 73

Diretrios do sistema
/mnt
Diretrio padro para montagem de devices diversos tais como:
cdrom floppy partio DOS mquina remota (rede)

/usr/include
Arquivos de cabealho (includes usados em programas em C / C++)
stdio.h, string.h
Linux 74
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Arquivos especiais
Unidades de E/S tais como impressoras, discos, CDs e disquetes, podem estar conectadas ao sistema Todas elas so tratadas como arquivos especiais e so acessadas como qualquer arquivo do sistema Por conveno, todas as unidades de E/S esto agrupadas no diretrio /dev

Linux 75

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Nomes tpicos de unidades


/dev/lp /dev/floppy impressoras disquete (floppy disk)

/dev/cdrom
/dev/dsk /dev/tty /dev/null

cdrom
discos linhas de comunicao dispositivo nulo

Linux 76

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Operaes Bsicas

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Uma sesso no Sistema Unix


login password prompt
SunOS 5.6 (jurujuba)
login: marcio Password: Last login: Mon Jul 24 18:29:56 from santarosa.nce.ufrj.br Sun Microsystems Inc. SunOs 5.6 Generic August 1997 You have mail jurujuba%

Linux 78

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Comandos
Sintaxe genrica
comando [-opes] [argumentos]

Exemplos
ls ls -a ls -al /home/sun17/marcio who who -H who am i date date +%d
Linux 79
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Condies de erro
Command not found Permission denied Cannot open file Exemplo1:
$ DATE DATE: Command not found $

Linux 80

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Condies de erro
Exemplo2:
$ cp cp: Insufficient arguments (0) Usage: cp [-f] [-i] [-p] f1 f2 cp [-f] [-i] [-p] f1 ... fn d1 cp -r|R [-f] [-i] [-p] d1 ... dn-1 dn $

Exemplo3:
$ cd \<return> >

Linux 81

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Teclas de controle
Descarte de caracter Eliminao de linha Suspende a execuo Retoma a execuo Cancela a execuo Final de arquivo ^h ou BS ^u ^s ^q ^c ^d

Linux 82

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Controle do terminal
Comando stty
Determina opes de controle do terminal ou informa as opes correntes Configura aspectos de I/O Sintaxe:
stty atributo valor

Exemplos:
stty erase ^h = atribui o caracter de descarte stty -a = exibe o valor de todas as opes
Linux 83
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Alterando a senha
Sintaxe
passwd [username]

Exemplo
$ passwd Changing password for marcio Enter login(NIS)password: New password: Retype new password: $

Linux 84

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Referncia on-line
Os comandos e utilitrios Unix possuem manuais de referncia on-line Sintaxe:
man [-opes] nome_do_comando

Exemplos:
man ls man -S7 signal (ou ento, man 7 signal) man -k passwd

Linux 85

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Encerrando uma sesso Unix


exit logout
Encerram a shell

Linux 86

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Caracteres especiais do Shell


Expanso do nome de arquivos
* ? []

Remoo do significado especial


\

Linux 87

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Caracteres especiais do Shell


Execuo do comando
- ou + < > >> ! & ; ( )
Linux 88
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Substituio do nome de arquivos


?
Encontra qualquer caracter naquela posio

*
Encontra qualquer conjunto de caracteres (inclusive nenhum)

[ ]
Encontra, para aquela posio, qualquer dos caracteres contidos na lista

Linux 89

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Substituio do nome de arquivos


Exemplos
$ ls File.new fig filea $ $ ls fi? fig $ $ ls f?? fig $
Linux 90

file.new file1 file2

file3 file4 file5

fin fit fun

fin

fit

fin

fit

fun

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Substituio do nome de arquivos


Exemplos (cont.)
$ ls *.new File.new $ $ ls fi[gn] fig $ file.new

fin

$ ls file[135] file1 file3 $ $ ls file[!1-4] filea file5 $


Linux 91
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

file5

Substituio do nome de arquivos


Exemplos (cont.)
$ ls -d unix01 unix02 unix03 $ ls -d unix01 $ ls -d unix03 $ /home/sun17/curso_unix/unix* unix04 unix07 unix10 unix13 unix05 unix08 unix11 unix14 unix06 unix09 unix12 unix15 unix?1 unix11 unix0[345] unix04 unix05 unix16

Linux 92

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Marcao dos caracteres especiais



O shell ignora todos os caracteres especiais exceto o $, ` (acento grave) e \


O shell ignora todos os caracteres especiais

\
O shell ignora o prximo caracter especial

Linux 93

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Marcao dos caracteres especiais


Exemplos
$ echo * File1 File2 fileA fileB newfile testfile $ $ echo file? fileA fileB $ $ echo [Ff]ile? File1 File2 fileA fileB $ $ echo "*" * $
Linux 94
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Marcao dos caracteres especiais


Exemplos (cont.)
$ echo \ > <^c> $

$ echo *\ *\ $ $ echo \*\\ *\ $


Linux 95
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Gerenciamento de arquivos e diretrios

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Gerenciamento de arquivos e diretrios


Ao trmino desta seo, o aluno estar apto a gerenciar arquivos e diretrios em Unix Atravs do gerenciamento de diretrios, podemos:
Mostrar o diretrio corrente Listar o diretrio corrente Criar novos diretrios Mudar o diretrio corrente Remover diretrios
Linux 97
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Gerenciamento de arquivos e diretrios


Atravs do gerenciamento de arquivos, podemos:
Classificar os tipos de arquivos Mostrar o contedo dos arquivos Copiar arquivos Mover e alterar o nome de arquivos Ligar arquivos Imprimir arquivos Localizar arquivos
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 98

Gerenciamento de arquivos e diretrios


Localizar seqncias de caracteres arquivos Ordenar o contedo do arquivo Remover arquivos nos

Linux 99

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Gerenciamento de arquivos e diretrios


O Unix mantm vrias informaes sobre cada arquivo que ele manipula:
Localizao fsica; Tamanho; Links; Dono do arquivo; Segurana (Quem pode acessar este arquivo?) Data de criao; Data de ltima modificao; Data de ltimo acesso.
Linux 100
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

pwd (print working directory)


Apresenta o diretrio corrente (diretrio de trabalho)
Sintaxe
pwd

Exemplo:
$ pwd /home/sun17/marcio $

Linux 101

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

mkdir (make a directory)


Cria diretrio(s)
Sintaxe
mkdir [opes] diretrio(s)

Requer permisso de escrita no diretrio pai Exemplo 1


$ mkdir teste $ ls -ld teste drwxr-xr-x 2 marcio $

staff

512 Jul 17 17:19 teste

Linux 102

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

mkdir (make a directory)


Exemplo 2
$ mkdir subdir1 $ mkdir memo letter report $ mkdir -m 700 mydir $ mkdir -p report/monthly $ ls -l drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwx-----$ 2 2 2 2 2 marcio marcio marcio marcio marcio staff staff staff staff staff 512 512 512 512 512 Jul Jul Jul Jul Jul 17 17 17 17 17 17:19 17:19 17:19 17:19 17:19 subdir1 memo letter report mydir

Linux 103

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

ls
lista o contedo de diretrios
Sintaxe
ls [-adFilLgR] [diretrio(s)]

Opes
a - lista os arquivos precedidos de . (ponto), ou seja, arquivos escondidos d - lista apenas o nome do filename, se este for um diretrio F - apresenta caracteres especiais aps o nome de diretrios, executveis e links i - apresenta o inode
Linux 104
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

ls
Opes (cont.)
l - lista todas as informaes sobre os arquivos L - se o arquivo um link simblico, lista as informaes do arquivo referente ao link g - lista o grupo proprietrio do arquivo R - lista recursivamente

Se no for utilizado nenhum argumento, listado o contedo do diretrio corrente;

Linux 105

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

ls
A opo -F fornece os seguintes smbolos:
diretrio link simblico executvel / @ *

Linux 106

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

ls
O modo de acesso ao arquivo (10 caracteres) comea com a identificao de tipo do mesmo:
diretrio arquivo comum link simblico d l

Linux 107

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

ls
Os outros 9 caracteres indicam as permisses de acesso para o usurio, o grupo e os outros:
leitura escrita execuo sem permisso r w x -

Linux 108

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

ls
Classes de Acesso
usurio grupo outros

drwxr-xr-x u g o

Linux 109

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

ls
Exemplos
$ ls file1 letter memo prog1 report data $ $ ls report annual monthly letter $
Linux 110
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

ls
Exemplos (cont.)
$ ls -ld report drwxr-xr-x 2 user1 admin $ 512 Jul9 11:02 report

$ ls -lai
534 drwxr-xr-x 5 user1 admin 231 drwxr-xr-x 2 user1 admin 389 -rw-r--r-- 1 user1 admin 456 drwxr-xr-x 2 user1 admin 132 drwxr-xr-x 2 user1 admin $
Linux 111
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

512 May 13 08:34 . 512 May 7 10:30 .. 952 May 13 16:45 .profile 512 Jun 512 Jul 4 15:04 letter 9 11:02 memo

894 -rw-r--r-- 1 user1 admin 3457 Aug 23 14:14 file1

cd
Muda o diretrio corrente
Sintaxe
cd [dir]

Exemplos
cd
cd / cd .. cd ../..
Linux 112

home directory do usurio; diretrio raiz (root); um nvel acima (diretrio pai); dois nveis acima;
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

cd
Exemplos (cont.)
cd /home/sun17/marcio
cd doc/unix

muda para o caminho absoluto especificado muda para o caminho relativo ao diretrio corrente.

Linux 113

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

rmdir
Remove diretrio
Sintaxe
rmdir dir

Remove apenas diretrios vazios Exemplo


$ rmdir teste $ ls -ld teste ls: teste: No such file or directory $

Linux 114

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

file
Mostra o tipo de arquivo
Sintaxe
file [-opes] arquivo(s)

Exemplos
$ file arq1 arq1: ascii text $ file -L * nofile arq1: ascii text letter: directory arq2: commands text atalho: symbolic link to report/arquivo nofile: cannot open: No such file or directory $
Linux 115
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

cat
Concatena e apresenta arquivos
Sintaxe
cat [-nbvet] arquivo(s)

Opes
n - apresenta as linhas numeradas b - igual a -n sem considerar linhas em branco v - apresenta os caracteres que no aparecem na impresso (caracteres de controle) e - coloca um $ ao final de cada linha, indicando um new-line (usado com -v) t - apresenta as tabulaes
Linux 116
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

cat
Exemplos
$ cat arq1 Este e o arquivo 1 $ cat arq2 Este e o arquivo 2 $

$ cat arq1 arq2 Este e o arquivo 1 Este e o arquivo 2 $

Linux 117

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

cat
Exemplos (cont.)
$ cat testfile Este arquivo contem varias tabulacoes e caracteres de controle como este ou este $ cat -vet testfile Este ^Iarquivo ^Icontem ^Ivarias ^Itabulacoes$ ^Ie ^Icaracteres ^Ide ^Icontrole$ como este ^b ou ^c este$ $

Linux 118

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

cat
Exemplos (cont.)
$ cat arq1 arq2 > arquivo $ ls -l -rw-r--r-- 1 joao staff -rw-r--r-- 1 joao staff -rw-r--r-- 1 joao staff $

68 205 273

Oct 17 09:32 Oct 17 15:45 Oct 21 16:41

arq1 arq2 arquivo

Linux 119

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

more
Exibe os arquivos uma tela por vez
Sintaxe
more arquivo(s)

Controles
<barra de espao> <return> b q - avana uma tela - avana uma linha - retrocede uma tela - encerra a listagem

Linux 120

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

head
Exibe as primeiras linhas de um arquivo (padro = 10)
Sintaxe
head [-n] arquivo(s)

Exemplos
head src/atribui.c head -20 bookmarks

Linux 121

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

tail
Exibe as ltimas linhas de um arquivo (padro = 10)
Sintaxe
tail [+|-n] arquivo(s)

Exemplos
Para ver as ltimas 30 linhas do arquivo: tail -30 /var/log/userlog Para ver todo o arquivo menos as 100 ltimas linhas: tail +100 /var/log/login
Linux 122
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

cp
Copia arquivos
Sintaxe
cp [-ipr] fonte destino

Opes
i - interativo p - preserva data, permisses, etc. r - recursivo

Linux 123

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

cp
Exemplos
$ cp -i forma formb cp: overwrite formb?

$ cp arq1 arq2 arq3 ../backup

$ cp -r dir1/subdir dir2

Linux 124

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

cp
Exemplos (cont.)
$ cp file1 file2 $ ls -il file1 file2 894 -rw-r--r-- 1 user1 admin 3457 May 13 16:45 file1 947 -rw-r--r-- 1 user1 admin 3457 Aug 23 14:17 file2

Linux 125

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

mv
Move ou renomeia arquivos
Sintaxe
mv [-fi] fonte destino

Opes
f - fora i - interativo

Linux 126

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

mv
Exemplos
$ mv -i forma formb mv: overwrite formb?

$ mv arq1 ../backup
$ ls -F arquivo servicos.txt teste/ $ mv servicos.txt portas.txt $ ls -F arquivo portas.txt teste/ $
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 127

mv
Exemplos (cont.)
$ ls -il file1 894 -rw-r--r-- 1 user1 admin 3457 May 13 16:45 file1 $ mv file1 file2 $ ls -il file1 file2 894 -rw-r--r-- 1 user1 admin 3457 May 13 16:45 file2 file1: No such file or directory $

Linux 128

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

ln
Cria links para arquivos uma forma de dar mais de um nome para um arquivo Sintaxe
ln [-s] fonte [destino]

Opo
s - Cria um link simblico

Linux 129

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

ln
Um link simblico usado para criar um outro path (ou nome) para um arquivo ou diretrio Exemplo
$ ln -s file file_link $ ls -il f* 94 -rwxr--r-- 1 user1 3457 May 13 16:45 file 47 lrwxrwxrwx 1 user1 5 Aug 23 14:17 file_link --> file

Linux 130

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

ln
Apesar do link possuir todas as permisses de acesso, as permisses efetivas sero as do arquivo original Um link simblico pode existir sem que o arquivo original exista antes Um hard link somente pode ser feito para outro arquivo no mesmo sistema de arquivos, mas no para diretrios (exceto para o superusurio)
Linux 131
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

ln
Um hard link cria uma nova entrada na tabela de diretrio para o mesmo inode do arquivo original Exemplo
$ ln file hard_link $ ls -il f* hard_link 94 -rwxr--r-- 2 user1 3457 May 13 16:45 file 47 lrwxrwxrwx 1 user1 5 Aug 23 14:17 file_link --> file 94 -rwxr--r-- 2 user1 3457 May 13 16:45 hard_link $

Linux 132

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

lpr
Envia um arquivo para ser impresso
Sintaxe
lpr [-Pprinter][-#cop][-h][-s][arquivo]

Opes
Pprinter
#cop h s

- envia job para impressora chamada printer - nmero de cpias - suprime cabealho - cria um link para o arquivo original

Linux 133

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

lpr
Exemplos

$ lpr -Plw -#3 rel.ps $ lpr -Pps -h cv.ps proposta.ps $

Linux 134

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

lpq
Apresenta a fila de jobs de uma impressora
Sintaxe
lpq [-Pprinter] [-l]

Opo
l - informaes completas

Exemplo
$ lpq -Plaser no entries $
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 135

lprm
Remove jobs da fila de impresso
Sintaxe
lprm [-Pprinter] [-] [job# ...]

Opo
- remove todos os jobs do usurio job# - remove os jobs indicados

Exemplos
$ lprm -Plaser $ lprm -Plw 234 398 $
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 136

find
Localiza arquivos a partir de um diretrio
Sintaxe
find [dir] [<expresso>]

Argumentos
dir - lista de diretrios a partir de onde ser feita a busca; <expresso> - critrio de busca e critrio de ao

Linux 137

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

find
Exemplos
$ find . -name "*.sh" -print $ find . -atime +30 -atime -60 -ok rm { } \;

$ find /home \( -mtime +10 -o -size +10000c \) -print


$ find /etc /home/user2 -name "*.rpt" -links 3 -print

Linux 138

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

grep
Procura ocorrncia de uma cadeia de caracteres em um arquivo
Sintaxe
grep [-cinv] [expresso] [nome_arquivo]

Opes
i n c v - ignora letras maisculas/minsculas - nmero da linha - nmero de ocorrncias - procura a no ocorrncia da cadeia

Linux 139

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

grep
Exemplos
$ cat fileA aaapatternaaa bbbPatternbbb patterncccccc $ cat fileB AAAAAA BBBBBB pattern CCCCCC $ grep 'pattern' fileA aaapatternaaa patterncccccc
Linux 140
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

grep
Exemplos (cont.)
$ grep -i 'pattern' fileA aaapatternaaa bbbPatternbbb patterncccccc $ grep -i 'pattern' * fileA:aaapatternaaa fileA:bbbPatternbbb fileA:patterncccccc fileB:pattern $ grep '^pattern * fileA:patterncccccc fileB:pattern
Linux 141
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

grep
Exemplos (cont.)
$ grep -in tel agenda.txt 21:telefone: (021) 239-2436 22:tel (081) 441-4368 $

Linux 142

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

sort
Ordena as linhas de um arquivo
Sintaxe
sort [-opes] [campos] arquivo

Exemplo
$ cat test package 56 box Banana 234 Pear profile $
Linux 143
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

$ sort test 234 56 Banana Pear box package profile $

sort
Exemplo (cont.)

$ sort -f test 234 56 Banana box package Pear profile $

$ sort -n -o test.srt test $ cat test.srt Banana Pear box package profile 56 234 $

Linux 144

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

wc
Conta o nmero de linhas, palavras e caracteres de um arquivo
Sintaxe
wc [-lwc] [arq1] ...

Exemplo
$ wc README 578 3700 $

24557 README

Linux 145

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

rm
Remove arquivos ou diretrios
Sintaxe
rm [-rfi] <arq1> ...

Opes
r - remove recursivamente um diretrio, removendo primeiro os arquivos nele contidos f - fora a remoo i - interativo; pergunta e espera a confirmao

Linux 146

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

rm
Exemplo
$ rm -i backup remove arq1? y remove arq2? Y remove backup? n $

Linux 147

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Gerenciamento do acesso aos arquivos e diretrios

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Gerenciamento do acesso aos arquivos e diretrios


Ao trmino desta seo, o aluno estar apto a gerenciar o acesso aos arquivos e diretrios Nesta seo podemos:
Modificar as permisses do arquivo e do diretrio Alterar a propriedade do arquivo Alterar os usurios, arquivos e diretrios pertencentes a um grupo

Linux 149

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Gerenciamento do acesso aos arquivos e diretrios


O Unix controla o acesso ao sistema atravs de:
lognames passwords

As permisses do Unix aos diretrios e aos arquivos controlam


Quem tem acesso O tipo de acesso

Linux 150

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Gerenciamento do acesso aos arquivos e diretrios


O acesso aos diretrios e aos arquivos podem ser alterados pelo:
Proprietrio Superusurio

Tipos de usurio:
Usurio (proprietrio) Grupo Outros

Linux 151

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

O arquivo /etc/passwd
Lista de usurios reconhecidos pelo sistema Consultado no login
Verificao da senha e obteno de dados do usurio

Exemplo:
$ cat /etc/passwd | grep marcio marcio:x:101:200:Marcio Thadeu:/home/sun17/marcio:/bin/csh $

Linux 152

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

O arquivo /etc/passwd
Descrio:
marcio: nome do usurio (username). Somente os oito primeiros caracteres so significativos; *: senha em sistemas com shadow passwords. Nos demais, senha criptografada (Afdk8sdfj8l!4). O nmero mnimo de caracteres na senha definido em /etc/default/passwd (normalmente 6); 101: UID - Deve ser nico em toda rede; 200: identificao numrica do grupo primrio (GID)
Linux 153
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

O arquivo /etc/passwd
Marcio Thadeu: nome completo do usurio. Em alguns sistemas, outras informaes so armazenadas (telefone, departamento) /home/sun17/marcio: home diretory do usurio /bin/csh: interpretador de comandos (shell) do usurio (csh, sh, ksh, tcsh ou um shell restrito)

As permisses do /etc/passwd:
$ ls -l /etc/passwd -rw-r--r-- 1 root $
Linux 154

sys

4096

Jul 8 9:04 /etc/passwd

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Exemplo de arquivo /etc/passwd


$ cat /etc/passwd root:x:0:1:Super-User:/:/sbin/sh daemon:x:1:1::/: bin:x:2:2::/usr/bin: sys:x:3:3::/: adm:x:4:4:Admin:/var/adm: lp:x:71:8:Line Printer Admin:/usr/spool/lp: smtp:x:0:0:Mail Daemon User:/: nobody4:x:65534:65534:SunOS 4.x Nobody:/: claudia:x:100:10:Claudia:/home/sun15/claudia:/bin/sh marcio:x:101:200:Marcio Thadeu:/home/sun17/marcio:/bin/csh

Linux 155

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Grupos UNIX
Mecanismo utilizado para que vrios usurios possam compartilhar arquivos de uso comum; Grupo implcito: aquele determinado pelo GID em /etc/passwd (grupo primrio); Grupo explcito: aquele determinado por entrada em /etc/group (grupo secundrio). Pode ser mais de um.

Linux 156

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

O Arquivo /etc/group
Arquivo que contm a lista dos grupos com seus respectivos membros. Exemplo:
$ cat /etc/group | grep marcio adm:*:100:claudia,marcio $

Linux 157

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

O Arquivo /etc/group
Onde:
adm: nome do grupo *: campo de senha para grupo (no muito utilizado) 100: nmero identificador do grupo (GID) claudia, marcio: usurios que tem acesso a este grupo

Linux 158

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Exemplo de arquivo /etc/group


$ cat /etc/group root::0:root other::1: bin::2:root,bin,daemon sys::3:root,bin,sys,adm adm::4:root,adm,daemon mail::6:root lp::8:root,lp,adm daemon::12:root,daemon sysadmin::14: nobody::60001: nogroup::65534: vlsi::30:marcio,claudia

Linux 159

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

O Arquivo /etc/shadow
A senha no fica disponvel no arquivo /etc/passwd, mas sim no arquivo /etc/shadow (ou /etc/master.passwd), para aumentar a segurana; As permisses do /etc/shadow:
$ ls -l /etc/shadow -r-------- 1 root $ sys 2424 Jul 8 9:05 /etc/shadow

Linux 160

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Como verificar as permisses de acesso a um arquivo


Utiliza-se o comando ls Exemplo:
$ ls -l drwxr-xr-x 5 user1 admin drwxr-xr-x 2 user1 admin -rw-r--r-- 1 user1 admin drwxr-xr-x 2 user1 admin 512 May 13 08:34 . 512 May 7 10:30 .. 952 May 13 16:45 .profile 512 Jun 4 15:04 letter

-rw-r--r-- 1 user1 admin 3457 Aug 23 14:14 file1

drwxr-xr-x 2 user1 admin $

512 Jul

9 11:02 memo

Linux 161

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Como alterar as permisses de acesso a arquivos e diretrios


chmod
Sintaxe
chmod [-R] modo arquivo(s)

O formato octal usa valores numricos:


$ chmod 744 memo

O formato simblico usa letras e smbolos:


$ chmod ug+x, o-r memo

Linux 162

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

chmod
Formato numrico:
Os valores numricos representam o modo de permisso:
Tipo de Permisso Tipo de Usurio usurio grupo outros leitura gravao execuo acesso negado Total
Linux 163

4 2 1 0 7

4 2 1 0 7

4 2 1 0 7

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

chmod
Exemplos:
$ ls -l prog1 -rw-r--r-- 1 user1 grp100 1475 Jul $ chmod 755 prog1 $ ls -l prog1 -rwxr-xr-x 1 user1 grp100 1475 Jul $ ls -ld salaries drwxr-xr-x 2 user1 grp100 $ chmod 750 salaries drwxr-x--- 2 user1 grp100 $ 512 Jun 11 09:16 salaries 512 Jun 11 09:16 salaries 9 11:02 prog1 9 11:02 prog1

Linux 164

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

chmod
Formato simblico:
Letras e smbolos representam o modo de permisso:
Tipo de Usurio u Ao Tipo de Permisso + = r w x

g
o a

Linux 165

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

chmod
Exemplos:
$ ls -ld Budget drwxr-xr-x 2 user1 grp100 512 jun 4 15:04 Budget $ chmod go-x Budget drwxr--r-- 2 user1 grp100 512 Jun 4 15:04 Budget $ ls -l prog2 -rw------- 1 user1 grp100 1986 jun 13 08:26 prog2 $ chmod a+rx prog2 $ ls -l prog2 -r-xr-xr-x 1 user1 grp100 1986 Jun 13 08:26 prog2 $

Linux 166

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

chmod
Outros exemplos:
$ ls -l temp -rwxr-xr-x 1 user1 grp100 512 Jun 20 09:33 temp $chmod go=temp $ ls -l temp -rwx------ 1 user1 grp100 512 Jun 20 09:33 temp $ ls -l script -rw-rw-rw- 1 user 1 grp100 2475 Jul 19 11:42 prog1 $ chmod go-w, a+x script

$ ls -l script
-rwxr-xr-x 1 user 1 grp100 2475 Jul 19 11:42 prog1 $
Linux 167
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Como mudar as permisses default


umask
Sintaxe
umask [nnn]

Exemplo
$ umask 022 $ ls -l drwxr-xr-x -rw-r--r--

2 marcio staff 512 Nov 3 15:00 1 marcio staff 3918 Nov 3 15:24

dir_velho arq_velho

Linux 168

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

umask
Exemplo (cont.)
$ umask 000 $ cat > arq_novo Este arquivo foi criado depois de trocar a mscara <^d> $ mkdir dir_novo $ ls -l drwxr-xr-x 2 marcio staff 512 Sep 3 15:00 dir_velho -rw-r--r-- 1 marcio staff 3918 Sep 3 15:24 arq_velho drwxrwxrwx 2 marcio staff 512 Oct 5 16:00 dir_novo -rw-rw-rw- 1 marcio staff 1561 Oct 5 16:35 arq_novo

Linux 169

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Como alterar o proprietrio de um arquivo


chown
Altera o usurio dono do arquivo Somente o superusurio Sintaxe
chown [-opes] usurio arquivo chown [-opes] usurio:grupo arquivo

Linux 170

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

chown
Exemplo
$ ls -l prog3 -rwxr-xr-- 1 user1 grp100 1765 Jul 2 13:14 prog3 $ chown user2 prog3 $ ls -l prog3 -rwxr-xr-x 1 user2 grp100 1765 Jul 2 13;34 prog3 $

Linux 171

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Membros do grupo e suas permisses de acesso


O usurio pode pertencer a vrios grupos Ser membro de um grupo permite o acesso aos arquivos do grupo Os comandos para mostrar a identificao do usurio e do grupo so:
id e groups

Os comandos para acesso aos dados pertencentes a outros grupos:


chgrp e newgrp
Linux 172
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

id
Mostra a identificao do usurio e do grupo corrente
Sintaxe
id [-a]

Exemplo
$ id uid=28 (marcio) gid=30 (vlsi) $ id -a uid=28 (marcio) gid=30 (vlsi) groups=30(vlsi), 50(staff)

Linux 173

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

groups
Lista os grupos aos quais o usurio pertence
Sintaxe
groups [username]

Exemplo
$ groups grupo1 grupo2 $ groups marcio staff $

Linux 174

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

chgrp
Altera o grupo proprietrio do arquivo
Sintaxe
chgrp [-opes] grupo arquivo

Exemplo
$ ls -l report5 -rw-r--r-- 1 user1 grp100 1765 Jul 23 14:17 report5 $ id uid=103(user3) gid=100(grp100) $ chgrp grp300 report5 chgrp: report5: Not owner $
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 175

chgrp
Exemplo (cont.)
$ id uid=103(user3) gid=100(grp100) $ groups grp100 grp300

$ ls -l
drwxr-xr-x 2 user3 grp100 -rw-r--r-- 1 user3 grp100 $ chgrp grp300 memo1 $ ls -l memo1 -rw-r--r-- 1 user3 grp300 $
Linux 176

512 Jun 11 09:16 subdir1 984 Jul 9 11:02 memo1

-rw-r--r-- 1 user3 grp100 1765 Jul 23 14:17 report5

984 Jul

9 11:02 memo1

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

newgrp
Altera o grupo corrente do usurio
Sintaxe
newgrp [grupo]

Linux 177

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

newgrp
Exemplo
$ id uid=105(user1) gid=100(grp100) $ groups grp100 grp200

$ ls -l
-rw-r--r-- 1 user1 grp100 2345 Jul 9 11:02 file1 -rw-r----- 1 user2 grp200 3588 Jul 23 14:17 file2 -rw-r----- 1 user3 grp300 7925 Feb 15 11:02 file3 $ cat file2 This file belongs to user2 in grp200. $ cat file3 cat: cannot open file3
Linux 178
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

newgrp
Exemplo (cont.)
$ newgrp grp200 $ id uid=105(user1) gid=200(grp200)

$ cat > file4


Este arquivo foi criado depois da troca para grp200. <^d> $ ls -al file4 -rw-r--r-- 1 user1 grp200 4265 Jul 26 09:23 file4 $ newgrp grp300 newgrp: Sorry

Linux 179

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

newgrp
Exemplo (cont.)

$ newgrp $ id uid=105(user1) gid=100(grp100) $

Linux 180

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Editores de Texto

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Por que usar o vi?


Editar arquivos de configurao Editar scripts de shell Disponvel em todas as distribuies Necessita muito poucos recursos instalados Funciona quando quase tudo mais parou

Linux 182

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Como obter ajuda?


Digitar man vi no prompt do shell Se estiver no vi, pressionar ESC seguido de :help

Linux 183

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

O que o vi?
Editor de textos e no processador de textos No sistema de editorao eletrnica Notepad sem necessidade de recursos grficos

Linux 184

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Modos de operao
Modo comando (modo inicial)
O que digitado interpretado como comando comandos para salvar arquivos, substituir, etc

Modo entrada de texto


tudo que digitado aceito como texto do arquivo que est sendo editado

Linux 185

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Buffers
Durante o processo de edio tudo que digitado armazenado em um buffer temporrio em memria O texto somente armazenado em disco quando um comando de gravao dado Ciclos edio-gravao podem ser repetidos livremente

Linux 186

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Como usar?
Digitar na linha de comando
$ vi [opes] [nome_arquivo]

A tela limpa e aparece alguns til (sinal de linha vazia) no lado esquerdo de cada linha da tela Cursor aparece na primeira linha
~ ~ ~ ~ "teste" [New file]
Linux 187
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Comandos para inserir texto


Para mudar do modo de comando para o modo de insero de texto:
i - insere texto na posio do cursor I - insere texto no incio da linha a - insere texto depois do cursor A - insere texto no final da linha o - acrescenta uma linha abaixo do cursor e insere texto O - acrescenta uma linha acima do cursor e insere texto
Linux 188
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Retornando ao modo comando


Pressione a tecla ESC para ir para o modo comando.

Linux 189

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Saindo vi
Comando :q :q! :wq, :x, ZZ Ao Sai sem fazer alteraes no buffer Sai e abandona todas as alteraes Grava buffer no arquivo atual e sai

Linux 190

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Salvando em novo arquivo


Comando :w Ao Grava no arquivo sendo editado

:w nome_arq Grava em nome_arq. Se existe nome_arq no grava e avisa. :w! nome_arq Grava em nome_arq e sai.

Linux 191

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Excluindo texto
Comando Ao [n ]x Exclui o caracter na posio do cursor [n ]d w Exclui do cursor at incio da prxima palavra [n ]d $ Exclui do cursor at o final da linha [n ]D Exclui do cursor at o final da linha [n ]d d Exclui linha inteira
n: repete comando n vezes
Linux 192
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Desfazendo um comando
Voltar ao modo comando com ESC Digitar u

Linux 193

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Repetindo um comando
Digitar . Repeties so feitas no modo comando

Linux 194

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Movendo-se pelo texto


Comando Ao esq, linha abaixo, linha acima, dir hjkl + (-) 0 ($) esq, linha abaixo, linha acima, dir incio prxima linha (anterior) Incio (fim) da linha atual

Linux 195

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Movendo-se pelo texto


Comando Ao [n ]w Move-se palavra para frente [n ]b Move-se at incio da palavra [n ]e Move-se at fim da palavra atual

n: repete comando n vezes

Linux 196

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Movendo-se pela tela


Comando Ao H Vai para primeira linha da tela M Vai para linha do meio da tela L <ctrl>f <ctrl>b Vai para ltima linha da tela Move-se uma tela para frente Move-se uma tela para trs

Linux 197

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Movendo-se pelo arquivo


Comando Ao G Vai para ltima linha do arquivo 1G Vai para primeira linha do arquivo [n ]G Vai para linha n do arquivo

Linux 198

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Procurando texto
Comando Ao /t e x to Procura texto para frente ? te x to Procura texto para trs n N Procura novamente na direo atual Procura novamente na direo oposta

Linux 199

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Procurando texto - observaes


A busca leva em conta as letras maisculas e minsculas Na procura de textos que incluam caracteres especiais para o vi, deve-se usar o caracter \ antes do caracter especial

Linux 200

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Procurando texto - exemplo


Exemplos de caracteres especiais:
$ fim da linha ^ incio da linha

Para procurar prog.pas:


/prog\.pas

Linux 201

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Caracteres especiais
Caracter Funo Desativa significado especial (escape) \ Comeo de linha ^ Fi m d e l i n ha $ Qualquer caracter isolado . Repete o caracter ou expresso precedente * [ te x to ] [^texto] <ctrl>V

qualquer nmero de vezes Qualquer um dos caracteres do texto. Trao indica srie, [a-d] significa srie entre a e d Qualquer um dos caracteres no do texto. Trao indica srie, [a-d] significa srie entre a e d Usado para escapar um return ou ESC

Linux 202

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Alterando e Substituindo texto


Comando Ao r R cw, ce cb c $, C cc
Linux 203

Substitui caracter Substitui at final linha Altera at o fim da palavra atual Altera a partir do incio da palavra at antes cursor Altera do cursor at o fim da linha Altera linha inteira
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Copiando e Colando
Comando Ao [n ]y w [n ]y $ , Y [n ]y y p P Copia para o buffer do cursor at o incio da prxima palavra Copia para o buffer do cursor at o fim da linha Copia linha atual inteira Colocar buffer aps o cursor Colocar buffer antes do cursor

Linux 204

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Pesquisa e substiuio avanadas


Quando se digita : muda-se para um editor chamado ex Formato do comando de substituio
: lini,linf s/texto1/texto2/

Da linha lini at a linha linf substitui a primeira ocorrncia do texto1 pelo texto2
: lini,linf s/texto1/texto2/g

O g no fim do comando para substituir todas as ocorrncias


Linux 205
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Pesquisa e substituio avanadas


Formato do comando de substituio
: lini,linf s/texto1/texto2/c

Da linha lini at a linha linf pergunta se pode substituir a primeira ocorrncia do texto1 pelo texto2 As letras c e g podem ser combinadas.
: lini,linf s/te[xs]to1/teto1/cg

Linux 206

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Definindo o ambiente do vi
O vi pode ser personalizado para o gosto, tipo de arquivo sendo editado, etc. Para ver o seu ambiente atual digite :set no modo comando. Uma resposta possvel seria
columns=80 lines=24 term=xterm

:set all
mostra todas as opes em efeito

Linux 207

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Algumas opes de ambiente


Opo autoindent number showmatch Abrev Descrio ai nu sm Recua cada linha para mesmo nvel da linha acima Numera linhas Indica que (), {} esto em pares Procuras no param no incio e fim de arquivos Alarme sonoro em erros Ignora maisculas e minsculas em procuras

wordsearch ws errorbells ignorecase eb ic

Linux 208

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Arquivo .exrc
Usado para criar ambientes personalizados Exemplo de arquivo:
set number showmode

set wm=60
ab RJ Rio de Janeiro ab NCE Ncleo de Computao Eletrnica map q rG

Lido pelo programa antes de iniciar a execuo


Linux 209
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Processos

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Processos
Abstrao do UNIX para gerncia de memria, CPU e recursos de I/O; um conjunto de dados e instrues que so executadas, em geral sem compartilhar o seu prprio espao de endereamento virtual; Um programa/job pode necessitar de vrios processos at seu trmino.

Linux 211

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Processos
Um comando simples (ls por exemplo) ser executado por apenas um processo; O administrador tem a incumbncia de monitorar o status dos processos, controlar quanto do tempo da CPU um processo gasta, enviar sinais para um processo e suspender sua execuo quando necessrio.

Linux 212

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Componentes de um Processo
Espao de endereamento
Cdigo do programa e variveis usadas Pilha do processo Outras informaes necessrias

Estruturas de dados internas ao kernel


Localizao do espao de endereamento Status corrente Prioridade de execuo Informaes acerca dos recursos usados A mscara de sinal do processo Identificao do proprietrio
Linux 213
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Tipos de Processos
Processos interativos
So inicializados e controlados por uma sesso de terminal Executados em foreground
Esto ligados a um terminal para entrada e sada de dados

Executados em background
No esto ligados a nenhum terminal

Daemons
So processos servidores, geralmente inicializados no boot da mquina (background)
Linux 214
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Atributos dos Processos


Process ID (PID)
Associado pelo kernel nico no sistema

Parent Process ID (PPID) Prioridade (Nice Number)


Nmero atribudo ao processo e que influencia o clculo da sua prioridade interna

TTY
Normalmente o terminal onde o seu processo foi iniciado
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 215

Atributos dos Processos


Real and Effective User ID (UID, EUID)
UID: Aquele que criou o processo EUID: Usado para determinar o direito de acesso do processo aos recursos do sistema (setuid)

Real and Effective Group ID (GID, EGID)


Mapeados no /etc/group Quando um processo inicializado, o GID configurado para o mesmo do processo pai EGID: Anlogo ao EUID em relao ao UID

Linux 216

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Ciclo de Vida de um Processo


fork
Cria uma cpia idntica ao processo pai, mas com outro PID, PPID do pai, cpias prprias dos descritores de arquivo e contabilidade prpria.

P1
PID 10

fork

P1
PID 356

Linux 217

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Ciclo de Vida de um Processo


exec
Muda o contexto do processo que est sendo executado Inicializa os segmentos de dados e pilha para um estado inicial pr-definido

P1 PID 34
exec

P2
PID 34
Linux 218
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Ciclo de Vida de um Processo


Exemplo:
init
PID 1

init fork

PID 424

exec getty PID 424 exec login PID 424

PID 424

exec sh fork

sh

PID 563

exec grep
PID 563

Linux 219

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Estados possveis dos processos


O: running
o processo est sendo executado;

R: runnable
esperando apenas por tempo de CPU;

S: sleeping
esperando o trmino de um evento especfico;

Z: zombie
o processo terminou e o pai no est esperando (est tentando morrer);

T: stopped
est proibido de executar.
Linux 220
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Comando Exit
Notifica o kernel que o processo vai morrer Libera espao de endereamento No fornece mais tempo de CPU O PID ainda no liberado Chamada de sistema wait

Linux 221

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Iniciando vrios processos com &


lp report &
[1] 1746

netscape &
[2] 1750

Os processos so iniciados e rodam em segundo plano (background)

Linux 222

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Processos em background
Dependendo do shell, temos mais ou menos controle sobre os processos que esto sendo executados em background No ksh, csh e bash (dentre outros), alm do caracter & no final da linha, pode-se comear um processo em foreground e, depois, coloc-lo para rodar em background

Linux 223

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Processos em background
Exemplo:
$ sort bigfile > bigfile.sorted $ <ctrl-z> job stopped

$ bg
12345 $ jobs 1 running sort bigfile > bigfile.sorted

Linux 224

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Processos em background
Comandos para o controle de processos:
jobs
permite ver os processos parados e os que esto sendo executados em background

bg [%n]
coloca o processo background para executar em

fg [%n]
coloca o processo novamente sob o controle da sesso (foreground)

Linux 225

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Entrada e Sada Padres


Em unix um processo automaticamente criado com trs arquivos abertos:
stdin
Entrada padro (teclado = 0)

stdout
Sada padro (vdeo = 1)

stderr
Sada padro de erro (vdeo = 2)

Linux 226

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Iniciando vrios processos com |


O smbolo | chamado de pipe (canal) Estabelece um canal entre dois processos Por exemplo:
ls | wc -l

A sada padro do comando ls transferida para a entrada padro do comando wc (neste caso, conta linhas)

Linux 227

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Iniciando vrios processos com |


Forma geral
comando | comando | comando ...

Todos os processos so iniciados ao mesmo tempo e so filhos do shell atual

Linux 228

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Redirecionando entradas/sadas
<
smbolo usado para redirecionar a entrada de um comando da entrada padro para um arquivo
mail marcio < info

>
smbolo usado para redirecionar a sada de um comando da sada padro para um arquivo
ls -la > lista.txt cat > dados.txt
Linux 229
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Redirecionando cont
>>
usado para acrescentar ou adicionar informaes em um arquivo j existente
date > diretorio ls | sort >> diretorio mail -s meus arquivos admin < diretorio

Linux 230

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Monitorando Processos
O comando ps informa:
PID, UID, prioridade e terminal de controle Tempo de CPU, memria utilizada, etc.

Exemplo:
% ps -aux /* System V: ps -ef */
TT co p0 ?? STAT START TIME COMMAND O 8:38PM 5:38.12 ps S 8:38PM 0:00.00 /usr/bin/csh T 8:35PM 0:00.06 sche

USER PID %CPU %MEM SZ RSS root 137 5.5 0.0 3832 2140 marcio 155 3.0 0.0 172 16 root 0 0.0 0.0 0 0

...

Linux 231

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Monitorando Processos
Campo USER PID %CPU %MEM SZ RSS TT STAT Significado Nome do usurio dono do processo Process ID Porcentagem da CPU que o processo est usando Porcentagem da memria real sendo utilizada Tamanho virtual do processo (kb) Nmero de pginas (1K) na memria ID do terminal de controle Status corrente do processo:
R - Runnable D - In disk wait S - Sleeping (>20) I - Sleeping (<20 sec) T - Stopped Z - Zombie

START Hora que o processo foi inicializado TIME Tempo de CPU que o processo consumiu COMMAND Nome do comando e argumentos

Linux 232

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

ps - opes comuns
a
seleciona todos, com o tty exceto lderes mostra processos de outros usurios

e
seleciona todos os processos e ambiente aps comando mostra

h
mostra sem o cabealho

l
mostra em formato longo
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 233

ps - opes comuns
r
somente processos rodando

x
processos sem controle de terminal

u
fornece informaes sobre usurio

f
mostra em formato de rvore

Linux 234

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Exemplos ps
ps -ef ps -aux ps -auxl

Linux 235

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Monitorando Processos
O programa top (integra alguns UNIX):
Prov um resumo dos processos ativos e do uso dos recursos; Amostragem a cada dez segundos (default); Permite enviar sinais (k); Permite visualizar processos de um usurio (u); Permite modificar a prioridade dos sinais (r); top de autoria de William LeFebvre, EECS Department, Northwestern University.

Linux 236

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Monitorando Processos
Exemplo:
% top last pid: 26330; load averages: 0.01, 0.01, 0.00 20:29:51 80 processes: 1 running, 79 sleeping CPU states: 0.4% user, 0.0% nice, 0.4% system, 1.6% interrupt, 97.7% idle Mem: 29M Active, 6204K Inact, 14M Wired, 8904K Cache,6386K Buf,3660K Free Swap: 128M Total, 34M Used, 94M Free, 27% Inuse PID 227 26330 26323 18256 155 6061 6067 6038 USERNAME root marcio marcio root root marcio marcio marcio PRI NICE SIZE 2 0 1096K 28 0 644K 18 0 688K 18 0 484K 18 0 332K 10 0 380K 10 0 488K 10 0 488K RES 80K 832K 1020K 516K 268K 144K 140K 140K STATE select RUN pause pause pause wait wait wait TIME 0:46 0:00 0:00 0:40 0:06 0:00 0:00 0:00 WCPU 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% CPU 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% COMMAND httpd top csh office51 cron make sh sh

Linux 237

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Sinais para Processos


Interrompem a execuo do processo Enviados atravs do comando kill
# kill -HUP 1823

O processo:
Quando recebe, trata o sinal, ou ento o kernel toma alguma ao default reiniciado do ponto onde parou

Linux 238

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Alguns sinais
SIGKILL (9):
Destri o processo
$ kill -9 1889

SIGSTOP:
Suspende at receber SIGCONT
$ kill -s STOP 2102

SIGHUP (1):
Faz o programa reler o seu arquivo de configurao interessante envi-lo antes de um kill -9
$ kill -1 2100
Linux 239
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Alguns sinais
SIGTERM (15):
Terminao de processo por programa

# kill -15 1889

SIGCONT:
Continua aps receber SIGSTOP $ kill -s CONT 2102

SIGHUP (1):
Faz o programa reler o seu arquivo de configurao. interessante envi-lo antes de um kill -9 $ kill -1 2100
Linux 240
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Agendando tarefas no Unix - at


Permite agendar tarefas em tempos determinados Pode ser usado por qualquer usurio, se no houver restries (arquivo /etc/at.deny)
at 1:23 lp /usr/vendas/relats/* echo Arquivos sendo impressos | mail -s Tudo ok gerente

Linux 241

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Agendando tarefas - at cont


at now + 1 DAY rm -f -r *.txt echo Removi arquivos texto | mail adriano <ctl>D at 17:00 DECEMBER 24 mail all < feliz_natal.txt <ctl>D
Linux 242
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Agendando tarefas - at cont


Resumo do comando
At hh:mm
Agenda tarefas para a hora marcada

at hh:mm mes dia ano


Agenda tarefas para hora:min mes dia ano

at -l
Lista os servios agendados

at now + inteiro unidades


Agenda para daqui a inteiro unidades (MONTH, DAY, etc)

at -d id_sevio
Linux 243
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Agendando tarefas - cron


at usado para agendar tarefas uma vez cron usado para agendar tarefas repetitivas O servio cron comea quando o sistema inicializado Se no h nada para fazer, o cron fica inativo e verifica a cada minuto se h tarefas para serem executadas nos arquivos crontab
Linux 244
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Agendando tarefas - crontab


crontab [-u user] file crontab: Comando usado para incluir tarefas na agenda crontab -u adriano file
Deve ser usado no primeiro agendamento para criar o arquivo crontab do usurio adriano a partir de file Este arquivo ser armazenado em /var/spool/cron

Linux 245

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Agendando tarefas - crontab


crontab [-u user] {-l | -r | -e} crontab: opes usadas depois que o crontab criado
l
lista o crontab atual

r
remove o crontab atual

e
edita o arquivo atual usando o editor especificado na varivel EDITOR ou VISUAL
Linux 246
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Agendando tarefas - crontab cont


Sintaxe dos comandos a serem inseridos no crontab
min hora dia-do-ms ms-do-ano dia-semana comando

Todos os 5 campos de data precisam ser especificados Campos com * so ignorados

Linux 247

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Agendando tarefas - crontab cont


Formatos
Min Hora Dia do ms Ms do ano Dia da semana 00 at 59 00 at 23 01 at 31 01 at 12 01 at 07 (segunda-feira = 01)

Linux 248

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Agendando tarefas - exemplos


30 07 * * 01 sort ./vendas/semanal | mail gerente
07:30 h, todo dia do ms, todo ms as segundas envia relatrio de vendas ordenado para gerente

45 10 * * 1-5 mail -s Hoje um dia til marcio


10:45 h, todo dia do ms de segunda a sexta avisa que dia til

Linux 249

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Agendando tarefas - exemplos


0,30 * 13 * 5 ls -l
Toda meia hora s sextas e todas meias horas do 13 dia do ms executa um ls -l e envia o resultado como mail para o usurio

20 1 * * * find /tmp -atime + 3 -exec rm -f {} \;


1:20 remove todos os arquivos de /tmp que no foram acessados nas ltimas 72 horas.

Linux 250

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Nice Value
Quanto menor seu valor, maior a prioridade
BSD: -19 a 19 System V: 0 a 39

Processos recm-criados herdam o valor do pai; O comando nice estabelece o valor na criao do processo;

Linux 251

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Nice Value
O dono do processo pode alterar este valor via comando renice (BSD) Quando necessrio, us-lo para iniciar um shell com alta prioridade Exemplo:
% ps -l UID PID PPID CPU PRI .... STAT TT TIME COMMAND 19442 1662 972 3 28 R+ p2 0:00.01 ps -l % nice -20 ps -l 19442 1668 972

68

RN

p2

0:00.01

ps -l

Linux 252

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Procedimentos de Backup

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Backup
A Necessidade do Backup Planejamento de Backups Mdia Backup de Arquivos e Sistemas de Arquivos

Linux 254

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

A Necessidade do Backup
Entre as atividades do administrador, est a tarefa de planejar e executar um procedimento eficiente de backups; Os arquivos podem ser perdidos por falhas do prprio usurio, de algum problema de software ou por algum problema de hardware; O desastre causado pela perda de um disco pode ser tanto maior quanto pior tiver sido planejado ou executado um esquema de backups.
Linux 255
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Planejamento de Backups
Quais arquivos precisam de backup? Onde esto estes arquivos? Quem ir realizar o backup destes arquivos? Onde, quando e sob quais condies o backup deve ser feito? Com que freqncia estes arquivos mudam? Com que urgncia os arquivos devem ser restaurados?
Linux 256
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Backup Completo e Incremental


Backup completo aquele em que todos os arquivos so salvos; Backup incremental aquele em que somente os arquivos que foram alterados desde o ltimo backup de nvel anterior so armazenados; O UNIX usa o conceito de nveis de backup:
Nvel 0 representa um backup completo Os demais nveis so incrementais em relao ao backup de nvel anterior
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 257

Exemplos de Planejamentos
Primeira segunda-feira do ms: nvel 0 Demais segundas-feiras: nvel 1 Tera, quarta, quinta, sexta-feira: nvel 2

ou ento:
Segunda-feira: nvel 0 Tera, quarta, quinta, sexta-feira: nvel 1

Linux 258

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Dicas de Backup
Execute todos os dumps numa s mquina Rotule suas fitas Escolha um intervalo razovel entre backups Escolha bem os sistemas de arquivos a serem salvos Faa os sistemas de arquivos menores que o seu dispositivo de backup (dumps dirios)

Linux 259

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Dicas de Backup
Mantenha as fitas fora do local de trabalho ou em lugar seguro Limite a atividade durante os dumps Verifique suas fitas (restore t) Prepare-se para o pior

Linux 260

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Mdia
Fitas magnticas:
Cartucho de 8mm: apresentam grande capacidade de armazenamento - maior que 5Gb, relativamente rpido e mais caro Cartucho de 4mm: Armazenam at 4Gb (at 8Gb se h compresso) e so rpidas. Tambm conhecidas como fitas DAT

Discos removveis: drivers de baixo custo, mdias relativamente caras (em relao s fitas DAT) e capacidade limitada

Linux 261

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Mdia
Write-Once CD-ROM: CD-ROM de escrita nica. Ainda so caros, armazenam apenas 640Mb e so lentos Jukeboxes, stackers: dispositivos que armazenam mdia (fita/CD) e gerenciam o seu uso para backup de forma automtica Disquetes: baratos, mas com pouca capacidade de armazenamento e lentos

Linux 262

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Backup de Arquivos e de Sistemas de Arquivos


Quando usar tar ou outra ferramenta especial para backups?
tar e cpio apresentam-se como a escolha natural para arquivos pequenos ou para se fazer um backup de arquivos do prprio usurio backups de um sistema de arquivos inteiro, ou mesmo de um sistema inteiro, requerem uso de ferramentas apropriadas, tais como dump

Linux 263

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

O Comando tar
Programa usado para armazenar e extrair arquivos de um arquivo chamado arquivo_tar tar [opes] arq1 [arq2,...] dir1 [dir2,...] O uso do nome de um diretrio implica que os diretrios sero includos no arquivo.

Linux 264

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Comando tar - opes


Uma destas opes deve ser usada
a
adiciona arquivos tar a um arquivo tar

c
cria um novo arquivo tar

d
acha diferenas entre arquivo tar e o sistema de arquivos

Linux 265

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Comando tar - opes


r
adiciona arquivos ao fim de um arquivo tar

t
lista contedo de um arquivo tar

x
extrai arquivos de um arquivo tar

Linux 266

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Comando tar - opes


Outras opes:
f
use arquivo ou dispositivo (/dev/???)

m
cria/lista/extrai arquivos com multi-volumes

v
mostra o que est fazendo

z
comprime usando gzip

Z
comprime usando compress
Linux 267
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

O Comando tar
Gerar arquivo tar a partir do diretrio (artigos) em um disquete (/dev/fd0), compactando tar cvzf /dev/fd0 artigos Gerar cpia do diretrio /home/ze no diretrio /tmp, sem compactao tar cvf /tmp/ze.tar /home/tar Mostrar o que est em ze.tar tar tvf ze.tar Extrair o que foi gravado em ze.tar tar xvf ze.tar

Linux 268

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

O Comando tar
Para copiar uma rvore de diretrio para outro diretrio:
Exemplo: copiar /dir2/olddir para /dir1/newdir:
% mkdir -p /dir1/newdir % cd /dir2/olddir % tar cfv - . | (cd /dir1/newdir ; tar xvf -)

Linux 269

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Dump em Sistemas UNIX


O comando dump oferece mais recursos para a realizao de backups:
Backup pode ser distribudo em mltiplas fitas Arquivos de qualquer tipo podem ser copiados e restaurados Permisses, dono e data podem ser restauradas Backups incrementais podem ser executados

O arquivo /etc/dumpdates contm informaes acerca dos dumps realizados


2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 270

Dump em Sistemas UNIX


Limitaes:
O dump deve ser feito separadamente em cada partio Aceita apenas sistemas de arquivo locais, mas pode usar unidade de fita remota No linux somente para sistemas ext2

Linux 271

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Dump em Sistemas UNIX


Opes :
0-9: nvel do backup u: atualiza o /etc/dumpdates aps o backup s: tamanho da fita em ps (feet) d: densidade da fita em bpi f: nome do device onde deve ser feito o backup

Linux 272

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Dump em Sistemas UNIX


Exemplos (BSD):
Backup de nvel 3 com opes de fita default do sistema de arquivo /home/users:
# dump 3u /home/users

Backup de nvel 2, fita com 2300 ps e 6250 bpi, device = /dev/rmt1, do /home/data:
# dump 2usfd 2300 /dev/rmt1 6250 /home/data

Linux 273

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Backups Remotos
Os comandos rdump ou ufsdump (no caso do Solaris) permitem o acesso a uma unidade de fita localizada numa mquina remota Necessita do arquivo /etc/hosts, o que representa um problema de segurana Exemplo:
# ufsdump 5usdf 2300 6250 sun5:/dev/rst0 \ /dev/rsd0d

Linux 274

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

O Arquivo /etc/dumpdates
% cat /etc/dumpdates
/dev/rsd0g /dev/rsd0a /dev/rsd0g /dev/rsd0a /dev/rsd2d /dev/rsd2e /dev/rsd4c /dev/rsd0g 0 Wed 0 Sun 2 Wed 2 Sat 0 Wed 0 Wed 0 Wed 8 Wed Apr 1 23:06:45 1998 Apr 5 09:58:28 1998 Apr 15 08:55:00 1998 May 2 10:35:00 1998 Dec 10 09:46:25 1997 Dec 10 09:54:40 1997 Dec 10 10:14:32 1997 Dec 10 10:56:44 1997

Linux 275

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Restaurando Arquivos (restore)


Opes do restore (rrestore - remoto):
r: restaura um sistema de arquivos completamente x: extrai os arquivos especificados f: nome do device s: determina qual fita do backup deve ser utilizada i: modo interativo

Linux 276

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Restaurando Arquivos (restore)


Exemplo 1:
# cd /tmp # restore -x -f /dev/rmt1 home/adriana/a.out # ls /tmp/home/adriana a.out # ls /home/users/adriana c/ mail teste/ # cp /tmp/home/adriana/a.out /home/users/adriana # chown adriana /home/users/adriana/a.out # chgrp staff /home/users/adriana/a.out # Mail -s arquivo recuperado adriana

Seu arquivo a.out foi recuperado como pedido e foi colocado no seu diretorio de trabalho
Linux 277
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Restaurando Arquivos (restore)


Exemplo 2:
# cd /tmp
# restore -if /dev/rmt1 restore > ls home/ usr/ var/ restore> cd home restore> ls adriana/ bia/ janaina/ restore> cd adriana restore> ls a.out c/ mail teste/ restore> add a.out

Linux 278

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Restaurando Arquivos (restore)


restore> extract You have not read any volumes yet. Unless you know which volume your files are on you should start with the last volume and work towards the first. Specify next volume#: 1 set owner /mode for . [yn] n ? restore> quit

Linux 279

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Devices para Fitas


O nome do device de acesso fita varia bastante entre as diferentes plataformas Tipos de devices
normal no rewind densidade baixa, mdia, alta e ultra

Linux 280

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Exemplos de Nomes de Devices


AIX
/dev/rmt0: rebobinar no final /dev/rmt0.1: no rebobina

Solaris
/dev/rmt/0: normal /dev/rmt/0n: sem rebobinar

FreeBSD
/dev/rst0: normal /dev/nrst0: sem rebobinar

Linux 281

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Vrios Backups em uma Mesma Fita


possvel colocar mais de um backup na mesma fita atravs do comando mt O comando abaixo avana para o terceiro backup da fita
# mt -f /dev/nrst0 fsf 2

Linux 282

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Vrios Backups em uma Mesma Fita

BOF

EOF

EOF

EOF

# mt rewind
# mt fsf 2 # dump ... # mt bsf 1 # restore ...

Linux 283

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Amanda
Advanced Maryland Autom. Network Disk Archiver Controlador de backup Realiza os backups automaticamente de todas as mquinas UNIX de uma rede Utiliza o dump Controla as colees de fitas ftp://ftp.cs.umd.edu/pub/amanda/

Linux 284

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Sistema de Arquivos

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Sistema de arquivos
Abstrao usada pelo kernel para representar e administrar os recursos de armazenamento Recursos de armazenamento
HDs, disquetes, CDROMs, Zip-drives e at memria

O Sistema de arquivos rene todos estes recursos em uma estrutura de rvore que comea no diretrio / O diretrio / conhecido como raz (root)
Linux 286
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Outros Sistemas de Arquivos


ext2
Mais popular dos sistemas Linux

minix
Sistema de arquivos mais antigo

msdos
Compatvel com fat do msdos

iso9660
CD-ROM

Linux 287

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Outros Sistemas de Arquivos


nfs
Sistema que permite compartilhamento em redes

hpfs
Sistema do OS/2

Linux 288

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Estrutura da rvore
/
bin etc mnt
floppy cdrom

home

usr

pedro
Linux 289
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

ana

Diretrios Padro - exemplos


/bin ou /sbin
comandos necessrios para operao mnima do sistema

/etc
arquivos de configurao e inicializao

/lib
bibliotecas para programas C

/tmp
arquivos temporrios
Linux 290
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Diretrios Padro - exemplos


/proc
no arquivo, mas sim informaes sobre o sistema

/var
dados que mudam durante o funcionamento do sistema

Linux 291

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Diretrios Padro - /usr


Programas
/usr/local
Programas instalados localmente

/usr/bin
Comandos de usurios

/usr/sbin
Comandos do sistema que no so necessrios no sistema de arquivos raiz

/usr/man
Pginas de manuais
Linux 292
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Diretrios Padro - /dev


Dispositivos
/dev/hd
Discos rgidos /dev/hda1
Primeira partio do disco rgido A

/dev/sd
Discos SCSI /dev/sdb2
Segunda partio do disco rgido SCSI B

/dev/sda4
ZIP drive
Linux 293
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Diretrios Padro - /dev


/dev/fd
Disquete /dev/fd0
Disquete a:

/dev/null
Buraco negro, tudo que enviado para este dispositivo est perdido para sempre.

/dev/tty
Terminais /dev/tty1
Terminal 1
Linux 294
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Diretrios Padro - /opt


Diretrio usado para pacotes adicionais tipo staroffice System V, Intel Binary Compatibility Standard V.2, Common Operating System Environment, Linux Standard Base e a comunidade UNIX adotaram este diretrio /opt Diretrio base para as aplicaes
Linux 295

/opt/pacote

Diretrio usado para instalar o


Elaborado por Marcio Thadeu Young

2001 MTY/NCE/UFRJ

Discos Rgidos- Tarefas bsicas


Formatar
Hoje raramente necessrio e na verdade desaconselhvel

Particionar
Dividir o disco em vrias parties, objetivando, por exemplo, instalar o LINUX e o outro sistema. Dividir a rvore de arquivos em parties de modo a evitar interferncias, aumentar segurana, etc
Linux 296
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Discos Rgidos- Tarefas bsicas


Criar um sistema de arquivos
Delimita no espao fsico como armazenar os dados Usado pelos sistemas operacionais para controlar onde esto os arquivos nas parties

Montar os diferentes sistemas de arquivos para formar a rvore de arquivos


Em Unix esta tarefa pode ser feita manualmente ou pelo sistema no boot
Linux 297
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Particionando
Usar o comando fdisk fdisk [unidade de disco] Exemplo
fdisk /dev/hda Caso a unidade no seja fornecida assumido a unidade /dev/hda

Linux 298

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Fdisk - algumas opes


m lista opes d exclui partio l lista tipos conhecidos n cria nova partio p exibe tabela de parties atual q sai sem salvar alteraes w grava tabela no disco e sai t troca tipo de sistema de uma partio x Funes adicionais
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 299

Criando Sistema de Arquivos


Programa mkfs i mkfs [-V] [-t tipo] [opes] sistema [blocos]
V t sada detalhada Especifica tipo do sistema de arquivos

Se no for especificado procura em /etc/fstab o tipo

opes
C l arq v
Linux 300

verifica blocos ruins l lista de blocos ruins do arquivo sada detalhada

sistema Pode /mnt/disc

ser
2001 MTY/NCE/UFRJ

como

/dev/hda1

ou

Elaborado por Marcio Thadeu Young

Montando Sistema de Arquivos

Montar um sistema de arquivos siginifica inserir este sistema na rvore de arquivos para torn-lo disponvel O sistema de arquivos montado aparece como um subdiretrio em um sistema j montado O diretrio onde ser montado o sistema j deve existir No possvel montar um sistema em um diretrio que est ocupado
Linux 301
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Montagem de Sistemas de Arquivos


Dois Sistemas de Arquivos
Sistema A /dev/hda1 / bin dev home etc Sistema A / Sistema B /dev/hda2 bin / lib etc

$mount /dev/hda2 /etc Sistema B etc

bin dev home etc bin


Linux 302

lib

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Comando de montagem

A forma padro do comando mount -t type device dir

Pede para montar o dispositivo device do tipo type no diretrio dir O contedo antigo do diretrio dir permance invisvel enquanto o dispositivo estiver montado.
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 303

Comando de montagem cont 1


Outras opes do comando mount [-t type]


Mostra todos os sistemas montados.

-a
Tenta montar todos os sistemas arquivos listados

no arquivo /etc/fstab

-F
Inicia uma cpia do processo para cada dispositivo

-f
Faz tudo menos montar realmente os sistemas,

junto com -v mostra o que est acontecendo


Linux 304
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Comando de montagem cont 2

-r
Monta o dispositivo read-only (-o ro)

-w
Monta o dispositivo read-write (default) (-o rw)

-o opes

monta segundo opes. Exemplos auto monta automaticamente com opo -a user permite um usurio comum montar exec permite execuo de binrios

Linux 305

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Comando de montagem cont 3

-t

minix ext2 msdos nfs swap iso9660 vfat

Unix antigo Linux padro Sistema msdos Parties em sistemas remotos Partio para swap CD Roms Sistemas com fat (windows, dos)

Linux 306

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Arquivo /etc/fstab

Informaes estticas sobre os sistemas Arquivo lido na inicializao Programas (mount) usam este arquivo para montar sistemas Arquivo dividido em cinco campos com opes similares as usadas pelo programa mount

Linux 307

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Campos do arquivo fstab


Dispositivo: Especifica o dispositivo ou sistema de arquivos ser montado
/dev/hda1

Ponto de Montagem: ponto na rvore onde o dispositivo ou sistema de arquivos ser montado
/mnt/floppy

Tipo: Tipo do sistema de arquivos


ext2, msdos, vfat, iso9660, etc

Linux 308

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Campos do arquivo fstab cont 1


Opes de montagem: Lista de opes separadas por vrgulas
auto pode ser montado com a opo -a exec permite execuo de binrios ro somente leitura rw leitura/escrita user permite usurio comum montar. Implica opes noexec, nosuid, nodev users qualquer usurio pode desmontar o sistema uid=value e gid=value coloca o como dono e grupo do raiz do sistema de arquivos os valores dados
Linux 309
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Campos do arquivo fstab cont 2


Frequncia de dump do sistema de arquivos
se o campo no existe o arquivo no ser copiado

Ordem em que o sistema de arquivos deve ser verificado pelo comando fsck
O sistema raiz deve ter valor 1 e todos os outros 2 Sistemas de arquivos com mesmo nmero sero verificados em paralelo, se possvel se o campo no existe ou vale zero o sistema
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 310

Exemplo de fstab
/dev/hda1 / defaults 1 1 /dev/hda2 /home ext2 1 2 /dev/hdb /mnt/discod vfat 0 /dev/cdrom /mnt/cdrom iso9660 0 /dev/fd0 /mnt/fdos users 0 0 ext2 defaults defaults 1

ro,auto,users 0 msdos

Linux 311

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Procedimentos de Inicializao e Shutdown

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Objetivos
Possibilitar ao gerente do sistema carregar, tirar o sistema do ar, conhecer os diferen-tes estados do sistema operacional bem como escolher a melhor maneira de desativ-lo; Mostrar ao gerente do sistema os arquivos especiais conhecidos como run control scripts e suas finalidades; Conhecer o procedimento de carga do sistema e os outros arquivos envolvidos.
Linux 313
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Processo de BOOT
Incio do processo:
Boot da PROM (ou NVRAM, ou FIRMWARE)
Identificao do sistema; Auto-teste (POST - power-on self test); Encontrar o dispositivo de boot; Carregar o arquivo /boot/kernel (programa de boot).

Linux 314

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Processo de BOOT
Primeiros passos do Kernel
Inicializao das tabelas internas; Complementao dos testes de hardware; Verificao da integridade do sistema de arquivos raiz (/) e montagem do mesmo; Inicializao do programa init (PID = 1).

Linux 315

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Comando /sbin/init
Verificao do estado dos filesystems (fsck); Montagem e faxina dos discos locais; Executa o script /etc/rc.d/rc.sysinit, que define diversas variveis do sistema; Gera os processos necessrios para configurar o sistema, baseando-se em informaes localizadas no arquivo /etc/inittab; Executa o script /etc/rc.d/rc.local;
Linux 316
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Comando /sbin/init
O comando /sbin/init pode colocar o sistema em 8 estados diferentes, chamados de init states; Cada estado est associado a um arquivo de comandos, conhecido como run control script; Habilitao do login dos usurios.

Linux 317

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Init States
O Sistema Operacional (em especial, o Solaris) normalmente carregado com o nvel 3 (definido no arquivo /etc/inittab). No caso do AIX, o run level default o 2. O comando /sbin/init tambm utilizado pelo gerente do sistema para alterar o nvel de execuo do mesmo.

Linux 318

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Init States
Init State Run level Para que serve Comando init 0, shutdown i0, halt init 1, shutdown i1 PROM monitor 0 Tirar o sistema do ar de level (powermodo seguro down) Single-user mode 1,S,s Colocar o sistema em modo mono-usurio. Os diretrios / e /usr so os nicos a ficarem montados Multi-user 2 Sistema em uso normal, porm somente com arquivos locais montados Multi-user, com recursos compartilhados 3 o modo normal do sistema, com todos os recursos podendo ser compartilhados (NFS)

init 2, shutdown i2

init 3, shutdown i3

Linux 319

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Init States
Alternative multiuser mode X11 mode 4 Definido pelo usurio; No muito utilizado Coloca o sistema em run level 3 e, em seguida, inicializa o modo grfico Coloca o sistema em run level 0 (halt) e, em seguida, efetua um reboot para o run level definido no arquivo inittab --------

Init 5, shutdown i5

Halt and reboot

init 6, shutdown i6, reboot

Linux 320

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Como saber o INIT STATE


Para saber o Init State (run level) do sistema, usamos o comando who -r Exemplo:
% who -r run-level 3 May 29 11:45 3 0 S %

Linux 321

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Como saber o INIT STATE


Onde:
run-level 3: May 29 11:45: 3: 0: S: Identifica o run level corrente A data da ltima troca de estado o run level corrente Nmero de vezes neste run level desde o ltimo reboot Identifica o run level anterior

Linux 322

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Como trocar o Init State


Normalmente, o comando init executado como ltima tarefa do boot; Ele l o arquivo inittab e executa os run control scripts associados ao init state definido. Podemos, no entanto, executar o comando para alterar o init state corrente:
Transforme-se no super-usurio; Digite init n para modificar o init state para n.
Linux 323
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Arquivo de configurao do Kernel


/etc/system lido durante o processo de boot Especifica:
Quais mdulos sero automaticamente carregados; Quais mdulos no sero; Devices onde esto o root e o swap; Altera o valor default de qualquer varivel definida (na gerao do sistema) para o kernel.
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 324

Arquivo /etc/inittab
Define o que fazer para cada init state Cada entrada da forma:
id:runlevel:action:process

Onde:
id: runlevel: identificador da entrada o run level em que esta entrada deve ser processada como o processo ser executado o comando a ser executado
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

action: process:
Linux 325

Arquivo /etc/inittab
Quando o sistema carregado, o comando init dispara todos os processos identifi-cados como sysinit no arquivo inittab; A entrada com o nome initdefault fornece o nvel padro de operao do sistema; O comando init ir disparar todos os processos associados a este nvel (campo runlevel);
Linux 326
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Arquivo /etc/inittab
Cada processo disparado segundo a orientao do campo action. Entre os valores para este campo, temos:
powerfail: wait: respawn: caso haja uma queda de energia esperar o comando acabar reinicializar o comando

Exemplo 1:
p3:s1234:powerfail:/usr/sbin/shutdown -y -i5 -g0 >/dev/console 2<> /dev/console Caso haja uma falta de energia, o sistema ir disparar o processo shutdown2001 MTY/NCE/UFRJ do ar de forma ordenada; para sair
Elaborado por Marcio Thadeu Young

Linux 327

Arquivo /etc/inittab
Exemplo 2:
co:234:respawn:/usr/lib/saf/ttymon -g -h -p "`uname -n` console login: -T sun -d /dev/console -l console -m ldterm,ttcompa Se, por algum motivo, o processo ttymon terminar, o init ir reinicializ-lo;

Exemplo3:
s3:3:wait:/sbin/rc3 >/dev/console 2<> /dev/console < /dev/console Dispara o run control script para o nvel 3. Espera pelo trmino do processo para continuar. 2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 328

Run Control scripts


Para cada run level existe um script rc no diretrio /sbin para configur-lo; So os seguintes:
rc0, rc1, rc2, rc3, rc5, rc6 e rcS

Linux 329

Para cada script acima existe um diretrio correspondente chamado /etc/rcN.d que contm vrios scripts que executam as tarefas para o run level associado; Por exemplo, /etc/rc2.d contm os arquivos usados para iniciar ou terminar o run level 2.
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Run Control scripts


Os arquivos comeando com a letra K so para terminar processos (kill). Arquivos comeando com S so para iniciar processos (start); Os nmeros servem para dizer a ordem em que devem ser executados, sendo que os que comeam com K so executados antes dos que comeam com S; Cada script run control tambm est localizado no diretrio /etc/init.d. Estes arquivos so linkados ao script
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 330

Resumo dos Run Control Scripts


/sbin/rc0
Para os daemons e os servios do sistema; Termina todos os processos ativos; Desmonta todos os sistemas de arquivos.

/sbin/rc1
Executa os scripts em /etc/rc1.d; Para os daemons e os servios do sistema; Termina todos os processos ativos; Desmonta todos os sistemas de arquivos; Coloca o sistema em modo mono-usurio.
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 331

Resumo dos Run Control Scripts


/sbin/rc2
Executa os scripts em /etc/rc2.d; Monta todos os sistemas de arquivos; Habilita o controle de quotas de disco, se for o caso; Cria entradas no diretrio /dev para novos perifricos (se for usado boot -r); Mostra a configurao do sistema; Configura o roteador default do sistema; Dispara os processos referentes a rede; Dispara o processo keyserv (criptografia);
Linux 332
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Resumo dos Run Control Scripts


/sbin/rc2
Dispara os processos statd e lockd (para exportao e importao de arquivos); Monta todas as entradas NFS; Dispara o processo automount; Dispara o processo cron; Dispara os daemons de impresso; Dispara os daemons de correio eletrnico (sendmail), entre outros.

Linux 333

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Resumo dos Run Control Scripts


/sbin/rc3
Executa os scripts em /etc/rc3.d; Limpa a tabela de arquivos exportveis (sharetab); Dispara o daemon nfsd (somente so houver entradas no arquivo /etc/dfs/dfstab); Dispara o daemon mountd.

Linux 334

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Resumo dos Run Control Scripts


/sbin/rc5
Executa os scripts em /etc/rc0.d; Termina os daemons de impresso; Desmonta os sistemas de arquivos locais; Termina o daemon syslog; Desmonta os sistemas de arquivos remotos; Termina os servios de NFS; Termina os servios de cron; Termina todos os processos ativos; Desliga a mquina.
Linux 335
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Resumo dos Run Control Scripts


/sbin/rc6
Executa os scripts em /etc/rc0.d; Termina todos os processos ativos; Desmonta todos os sistemas de arquivos; Dispara as aes para o init state identificado como initdefault no arquivo /etc/inittab.

Linux 336

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Resumo dos Run Control Scripts


/sbin/rcS
Executa os scripts em /etc/rcS.d; Verifica a integridade dos sistemas de arquivos / e /usr; Verifica e monta os sistemas de arquivos designados para o modo mono-usurio.

Linux 337

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Vantagens para esta organizao


Poder alterar procedimentos do sistema sem ter que reiniciar o mesmo Por exemplo, caso seja necessrio parar os servios de correio eletrnico (e-mail) basta fazer:
/etc/init.d/sendmail stop

Para reinicializar o servio, temos:


/etc/init.d/sendmail start

Linux 338

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Vantagens para esta organizao


O gerente do sistema pode colocar ou retirar servios; Para adicionar, basta criar uma entrada no diretrio /etc/init.d e criar um link para o diretrio rc*.d apropriado.

Linux 339

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Resumo da inicializao:
tcp nfs

init.d /etc rc0.d rc0 rc2.d rc2 inittab


K75cron K85lp K87nfs

lp cron

Linux 340

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Procedimentos de shutdown
O gerente do sistema deve escolher o procedimento mais adequado para tirar o equipamento do ar:
/usr/sbin/shutdown /sbin/init /usr/sbin/halt /usr/sbin/reboot

Linux 341

Todos os comandos iniciam os procedimentos de shutdown, terminam todos os processos, atualizam os discos e mudam o Sistema Operacional para o run state apropriado.
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Comando shutdown
o mais apropriado quando o sistema est sendo utilizado por vrios usurios. Envia um aviso para todos os usurios ativos sobre a sada do sistema, aguarda 60 sec. (default) e coloca o sistema no run level indicado.
/usr/sbin/shutdown [-y] [-g segundos] [-i init-state] [mensagem] (SV) Ex.: #shutdown -iS -g120 ===Manuteno dos discos=== /usr/sbin/shutdown [-h] [-m] [+minutos] [mensagem] 2001 MTY/NCE/UFRJ (BSD) Ex.: #shutdown -m +120 ===Manuteno dos discos===
Elaborado por Marcio Thadeu Young

Linux 342

Comando init
Usado quando o gerente quer alterar o run level do sistema.
/sbin/init

Linux 343

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Comando halt
Usado apenas quando o sistema deve sair do ar imediatamente. No emite aviso algum.
/usr/sbin/halt

Linux 344

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Comando reboot
Coloca o sistema em modo mono-usurio e, em seguida, recoloca o mesmo em modo multi-usurio. Tambm no emite aviso algum.
/usr/sbin/reboot

Linux 345

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Importante
Os comandos init e shutdown so os mais recomendados, pois utilizam os RC scripts para terminar os processos e garantem que todas as transaes de disco sero terminadas (sync).

Linux 346

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Por que o boot no termina?


Problemas de hardware; Erro no acesso aos blocos de boot; Sistemas de arquivos danificados; Kernel configurado de forma inadequada; Erros nos scripts de inicializao.

Linux 347

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

O comando fsck
Filesystem check: utilitrio que verifica a integridade dos sistemas de arquivos; Detecta e corrige automaticamente pequenos problemas; Roda automaticamente sempre que a mquina no for desligada atravs de um shutdown; Nos casos em que o problema mais srio, coloca o sistema em single-user e solicita a interveno do administrador.
Linux 348
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

O comando fsck
Exemplo:
# fsck /dev/dsk/c0t3d0s7 ** /dev/dsk/c0t3d0s7 ** Last Mounted on /export/home ** Phase 1 - Check Blocks and Sizes ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Cyl groups 2900 files, 168392 used, 290703 free (319 frags, 36298 blocks, 0.1% fragmentation) #

Linux 349

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

NFS Network File Systems

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

NFS
Network File System um sistema que permite a montagem de sistemas de arquivos remotos atravs de uma rede TCP/IP Desenvolvido pela SUN nos anos 80 (RFC1094)
http://www.faqs.org/rfcs/rfc1094.html

Linux 351

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

NFS
BSD exporta (export) os sistemas de arquivos ATT compartilha (share) os sistemas de arquivos

Linux 352

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Terminologia NFS
Servidor NFS
Um servidor de arquivos NFS determina os sistemas de arquivos locais que sero compartilhados com outras mquinas

Cliente NFS
Um cliente NFS monta os sistemas de arquivos compartilhados atravs da rede e os trata como se fossem locais

Linux 353

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

O que preciso?
Comunicao via TCP/IP Computador com o sistema de arquivos (servidor) precisa disponibilizar (exportar) o sistema atravs do arquivo /etc/exports Computador que deseja usar o sistema de arquivos (cliente) precisa mont-lo atravs do comando mount ou com uma entrada do arquivo /etc/fstab

Linux 354

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Componentes do NFS
rpc.portmaster rpc.mountd rpc.nfsd rpc.statd rpc.rquotad mount/umount /etc/exports Roteia procedimentos remotos para os daemons Monta e desmonta sistemas de arquivos Prov acesso aos arquivos locais Estatsticas Servidor de parte remota Monta/desmonta sistema de arquivos Arquivos disponveis

/var/lock/subsys/nfs Bloqueia execuo de vrias cpias do NFS


Linux 355
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Inicializao
Os programas (daemons) do NFS devem ser inicializados com o boot. O comando /usr/sbin/pmap_dump mostra o estado dos daemons RPC (Remote Procedure Calls) do sistema. O NFS usa RPC. O script nfs em /etc/rc.d/init.d pode ser usado para interromper, reiniciar, parar ou consultar os programas NFS
./nfs [start | stop | status | restart | reload]
Linux 356
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

/etc/exports
Usado pelos daemons mountd e nfsd para determinar que arquivos sero montados e as restries que se aplicaro Arquivos exportados listados um por linha Formato do arquivo
Nome do ponto de montagem Lista de computadores (domnio)
opes entre parnteses e separadas por vrgulas podem seguir cada nome de computador
Linux 357

Ex.
/home

2001 MTY/NCE/UFRJ

*.dcc.ufrj.br (rw) pardal.nce.ufrj.br (ro)

Elaborado por Marcio Thadeu Young

/etc/exports
Exemplo:
/home *.nce.ufrj.br (rw) trein91.nce.ufrj.br (ro)

Linux 358

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Opes
Endereos de redes IP podem ser fornecidos no seguinte formato
Endereo/mscara Por exemplo: 146.164.39.64/255.255.255.192

secure
Exige que pedidos se originem em porta menor que 1024

ro
Somente leitura
Linux 359
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Opes
noaccess
Faz tudo abaixo do diretrio indicado inacessvel

root_squash
Mapeia todos os pedidos de uid/gid 0 para o usurio/grupo annimo.

no_root_squash
Desliga a opo anterior

Linux 360

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Opes
anonuid e anongid
Estas opes definem explicitamente o uid e gid da conta annima. til para clientes PC/NFS que aparecero como de um nico usurio

Linux 361

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Exemplo de
Exemplo de /etc/exports

/ /projects /usr /home/joe /pub /pub/private

master(rw) legal (rw, no_root_squash) proj*.local.domain (rw) *.local.domain (r0) pc001(rw,anonuid=150, anongid=100) (ro,insecure,all_squash) (noaccess)

Linux 362

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Exportando manualmente
Para forar a execuo do arquivo /etc/exports com o sistema j no ar, usamos o comando exportfs

exportfs [opcoes]
a exporta todos arquivos v seja explicado r reexporta todos arquivos u deixa de exportar o opes opes iguais aos do arquivo exports
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 363

Montando sistemas remotos


No arquivo /etc/fstab inserir linha no seguinte formato:
<host>:<dir> ponto_montagem nfs opes

Exemplo:
serv.ufrj.br:/mnt/cd /home/ze/cd nfs ro

Montou a partir da mquina serv.ufrj.br o diretrio /mnt/cd em /home/ze/cd com opo de apenas de leitura.
Linux 364
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Benefcios do NFS
Arquivos centralizados
Os arquivos esto localizados no servidor Uma cpia do arquivo est disponvel a vrios usurios simultaneamente Ex: diretrios de login (home directories)

Softwares de uso comum


Pacotes de software podem ser compartilhados Diminui o espao gasto em disco e facilita a gerncia.
Linux 365
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Benefcios do NFS
Os arquivos parecem ser locais
A distribuio de arquivos transparente para o usurio e as aplicaes

Linux 366

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Gerncia de Usurios

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Tarefas
Acrescentar e Excluir usurios Definir privilgios de usurios

Incluir e Excluir usurios de grupos


Criar os diretrios home

Linux 368

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Arquivos relacionados
/etc/passwd
Arquivo com as informaes do usurio

/etc/shadow
Contm a senha criptografada e informaes relativas a mesma

/etc/group
Identificao dos grupos e seus membros

Linux 369

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Arquivo de senhas
Ao inserir um usurio uma linha acrescentada ao arquivo /etc/passwd Formato da entrada no arquivo

nome_login:senha_cripto:ID_usurio:ID_gr upo: informaes_usurio:diretrio_login:


shell_login
Exemplo: adriano:x:500:500:Adriano Joaquim de Oliveira
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 370

Arquivo de Senhas - cont


Campo nome_login Descrio Nome usado para acessar o sistema senha_cripto Senha criptografada ID_usurio Nmero usado pelo sistema para identificar usurio ID_grupo Nmero que identifica grupo primrio do usurio. Informaes_usurio Descrio do usurio diretrio_login Diretrio inicial do usurio shell_login Shell que ser usado pelo usurio

Linux 371

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Arquivo de senhas - shadow


Quando o sistema usa senhas com sombreamento aparece um x no campo de senha.

As senhas so armazenadas no arquivo /etc/shadow que deve ser mais protegido. Arquivo shadow somente deve ter permisso de leitura para root
Linux 372
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Arquivo de senhas - shadow cont


As permisses do /etc/shadow (ou /etc/master.password):
% ls -l /etc/shadow -r-------- 1 root sys 2424 Jul 8 9:05 /etc/shadow

O arquivo /etc/shadow criado (ou atualizado) a partir do arquivo /etc/passwd, usando-se o comando pwconv ; Tambm atualizado quando utilizado um utilitrio do sistema para a abertura (ou manuteno) da conta.

Linux 373

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Arquivo de senhas -shadow cont


Os campos do arquivo so os seguintes:
Nome do login Senha criptografada Dias desde 01/01/1970 em que a senha foi alterada Dias at que a senha possa ser trocada Dias at que a senha tenha de ser trocada Dias para avisar o usurio antes que a senha expire Dias aps a senha expirar em que a conta ser inibida Dias deste 01/01/1970 em que a conta ser
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 374

Criao de um novo usurio


Determinar o nome do usurio (username), o UID (identificao numrica do usurio) e o grupo primrio (GID) ao qual ele vai pertencer; Colocar estas informaes em /etc/passwd e /etc/group (se o grupo no existir); Determinar uma senha para este usurio; Ajustar outros parmetros da conta (data de expirao, perodo de troca de senha, etc.);
Linux 375
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Criao de um novo usurio


Criar um diretrio de trabalho (home directory) para o usurio; Colocar arquivos de inicializao (.cshrc, .login ou .profile) neste diretrio. No Linux, estes arquivos ficam no diretrio /etc/skel; Usar chown e chgrp neste diretrio para que o usurio seja o dono de seus arquivos; Testar a nova conta

Linux 376

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Gerencia de Usurios
Incluindo um usurio manualmente:
Editar o arquivo /etc/passwd (usando, preferencialmen-te, vipw); Incluir um registro com as informaes do novo usurio; Salvar o arquivo; Criar o home directory do novo usurio; Copiar para o mesmo os scripts associados ao shell escolhido;

Linux 377

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Gerencia de Usurios (cont.)


Trocar o owner do diretrio e dos arquivos para o novo usurio; Editar o arquivo /etc/group e colocar o usurio nos grupos secundrios (se for o caso); Executar o comando pwconvpara criar uma entrada no arquivo /etc/shadow; Usar o comando passwd para alterar os valores necessrios no arquivo /etc/shadow; Usar os comandos pwcke grpck para , verificar a consistncia dos arquivos /etc/passwd e /etc/group.

Linux 378

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Comando useradd
Usado para acrescentar um usurio
useradd [opes] login_name

Cria um usurio de acordo com as opes dadas e os valores default do sistema. O diretrio home criado e os arquivos de configurao copiados para o diretrio Se no for dada uma senha inicial, o usurio criado sem senha.

Linux 379

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

useradd cont
Algumas opes so:
d home_dir
Diretrio home do usurio

e data_de_ expirao
(formato yyyy-mm-dd)

f dias_para_inatividade
Dias aps conta expirar para ser inibida

g grupo_inicial
Nome ou nmero do grupo inicial

G grupo, [...]
Lista de grupos suplementares
Linux 380

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Usando Interfaces Grficas


Na distribuio RedHat usar o comando userconf O programa linuxconf tambm serve para administrar contas O linuxconf pode ser usado para administrar via web usando o endereo

http://<hostname>:98

Linux 381

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

chfn - trocando dados do usurio


chfn [opes] usurio Troca dados de um usurio Opes:
f Nome completo o nmero da sala p telefone do trabalho h telefone de casa

Linux 382

Estas informaes aparecem quando se usa o comando finger usurio Arquivo .plan armazena outros dados sobre o usurio
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Inibindo acesso a conta


Caso o sistema use somente o arquivo passwd
Colocar um x no campo de senhas impede o acesso a conta Campo de senhas vazio no requer senha

Caso o sistema use o arquivo shadow


Colocando um ! como primeiro caracter do campo de senhas inibe o acesso.

Linux 383

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Removendo o usurio
Para remover o usurio sem apagar os dados do diretrio /home
Remover as entradas da conta dos arquivos /etc/passwd e /etc/shadow ou Usar o comando userdel <nomedaconta>

Para remover o usurio apagando tudo


Remover as entradas da conta dos arquivos /etc/passwd, /etc/shadow e remover os arquivos do diretrio /home ou Usar o comando userdel -r <nomedaconta>
Linux 384
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Grupos UNIX
Mecanismo utilizado para que vrios usurios possam compartilhar arquivos de uso comum; Grupo implcito: aquele determinado pelo GID em /etc/passwd (grupo primrio); Grupo explcito: aquele determinado por entrada em /etc/group (grupo secundrio). Pode ser mais de um.

Linux 385

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Grupos
O arquivo group contm todos os grupos do sistema Para acrescentar um grupo no sistema
Edite o arquivo criando o novo grupo ou Use o comando groupadd com o nome do grupo

Formato do arquivo group


group_name: nome do grupo passwd: senha do grupo, campo vazio no
Linux 386

requer senha gid: nmero identificador do grupo user_lista: lista de usurios do grupo
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Grupos - Arquivo de grupos


root:x:0:root bin:x:1:root,bin,daemon adm:x:4:adm,root,bin users:x:100:adriano,joe adriano:x:500: joe:x:501:

Linux 387

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Para adicionar um grupo ao usurio


Editar o arquivo group e adicionar o nome do usurio na linha do grupo.

Linux 388

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Comandos
id: informa o UID e o GID corrente do usurio groups: informa quais os grupos do usurio newgrp: permite a mudana de grupo Exemplos:
% id uid=28 (marcio) gid=30 (vlsi) % groups vlsi sparc811 % newgrp sparc811 % id 2001 MTY/NCE/UFRJ uid=28 (marcio) gid=811 (sparc811)
Elaborado por Marcio Thadeu Young

Linux 389

Instalando o Linux

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Instalao
Requerimento de Hardware
CPU
Intel 80386 ou superior, Alpha, Sparc, Power PC, etc

Memria
Depende do uso da mquina (servidor ou workstation) Mnimo: 4Mb Recomendado: 16Mb no mnimo

Controladora de disco
IDE, EIDE, ESDI, SCSI
Linux 391
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Instalao
Requerimento de hardware
Espao em disco
Mnimo 35M Comum entre 200M e 1 Gb Servidores +1 Gb Depende da distribuio

Adaptador de video
Hercules, CGA, EGA, VGA, IBM monocromtico, SVGA e a maioria das placas com acelerador de vdeo
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 392

Qual distribuio?
Red Hat Disk Mem CPU Instala KDE/ Gnome 167(600) 16(48) 386 e p/cima CD, rede, HD S/S Debian 35(800) 4 386 e p/cima CD, rede, HD N/S Slackware 50 16(64) 386 e p/cima CD, rede, HD, CD disquete S/S S/S Mandrake 400(1G) 24(64)

Linux 393

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

E o outro sistema?
No precisa se livrar dele, por enquanto... possvel instalar mais de um sistema. Particionar o disco deixando algum espao para o outro sistema, ou outros. Criar um sistema dual-boot

Linux 394

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Preparando seu HD
Partition Magic, FIPS, etc podem ser usados para liberar espao em Disco, que j est com o outro sistema. Lembre-se: Se era importante, voc tinha cpia. C:, D:, E: so apenas convenes /dev/hda1, /dev/hda2, /dev/hdb1 a maneira Linux fdisk o programa Linux para formatar parties
Linux 395
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Particionando o HD, exemplo

swap /dev/hda2 [/home] /dev/hda1[/]

D:\ [Dados]
C:\ [Windows]
Linux 396
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Particionando o Disco
Particionamento
Dividir o(s) disco(s) em reas (diviso lgica do disco) Mnimo 2 parties Recomendado 5 parties
Swap / => /usr => /var => /home =>
Linux 397

Filesystem principal Utilitrios em geral Logs e spool (mail, impressora,...) Diretrio dos usurios
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Instalao
Partio principal deve estar nos primeiros 1024 cilindros do disco Partio de swap
Mnimo 8 M Mnimo recomendado 16M Mximo 128M Maior velocidade de acesso Implementa o mecanismo de memria virtual

Linux 398

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Instalao
Dicas para instalao
Diretrios que obrigatoriamente devem estar no file system principal
/bin, /lib, /boot /lost+found, /root, /sbin, /dev, /etc

Anote previamente
Tipo do processador Tipo da controladora e tamanho do disco Mouse (tipo e porta serial) CDROM (tipo) Placa de vdeo (marca/modelo, RAM)
Linux 399
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Instalao
Monitor (Marca/Modelo, freqncia) Modem (porta serial e padro) Placa de rede (tipo - ethernet, FDDI, token ring, outros - marca/modelo e conector - BNC, RJ11, AUI, automtico) Rede
domnio, endereo IP, mascara da rede, endereo de broadcast, gateway e endereo do(s) name server(s)

Linux 400

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Instalao
Processo de instalao (geral)
Gerar um disco de boot para o linux Inicializar o sistema com o disco Selecionar o mtodo de instalao (CDROM, NFS, FTP, disco ou via rede MS) Criar a(s) partio(es) Associar as parties ao(s) ponto(s) de montagem - diretrio(s) Formatar as parties Escolher os pacotes que sero instalados
Linux 401
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Instalao
Configuraes adicionais (mouse, video, rede e Xwindow) Gerar um disco de inicializao Instalar o LILO

Linux 402

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Disco de boot (RedHat)


Imagens
cd_rom:\images boot.img
imagem do disco de boot

supp.img
imagem do disco suplementar

rescue.img
gera disco de recuperao

Linux 403

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Disco de boot (RedHat)


Rawrite
Copia a imagem de um disco (arquivo.img) para um diskete diretrio cd_rom:\dosutils rawrite <imagem> <drive>

Linux 404

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Disco de boot (RedHat)


No necessrio criar os discos de boot quando:
A instalao feita via CDROM local e A BIOS permite boot via unidade cd CD.

De preferncia os discos devem estar formatados

Linux 405

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Mtodo de instalao
CDROM local NFS
Requisito
Diretrio compartilhado na rede Privilgio de acesso a mquina

FTP
Requisito
Acesso a um servidor FTP que disponibilize o LINUX

Linux 406

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Mtodo de instalao
SMB (samba)
Rede microsoft Requisito
Acesso a mquina da rede Microsoft que esteja disponibilizando o LINUX

Disco rgido
Instalado de uma partio ou disco adicional da prpria mquina

Linux 407

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Particionando o disco
fdisk
similar ao fdisk do MS-DOS/Win95 criar nova partio apagar uma partio existente listar as parties do disco mudar tipo da partio

Linux 408

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Particionando o disco
fdisk
Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition p print the partition table
Linux 409
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Particionando o disco
fdisk
q t u v w x quit without saving changes change a partition's system id change display/entry units verify the partition table write table to disk and exit extra functionality (experts only)

Command (m for help):

Linux 410

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Particionando o disco
fdisk
n - cria uma nova partio
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (1-622): 1 Last cylinder or +size or +sizeM or +sizeK ([1]622):622
Linux 411
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Particionando o disco
fdisk
p - exibe informaes sobre as parties
Command (m for help): p Disk /dev/hda: 128 heads, 63 sectors, 523 cylinders Units = cylinders of 8064 * 512 bytes Device Boot Begin Start End Blocks Id System /dev/hda1 * 1 1 254 1024096+ 6 DOS 16bit /dev/hda2 255 255 305 205632 83 Linux native /dev/hda3 306 306 322 68544 82 Linux swap /dev/hda4 323 323 523 810432 5 Extended /dev/hda5 323 323 205600+ 83 Linux 2001 MTY/NCE/UFRJ 373 Linux native Elaborado por Marcio Thadeu Young 412

Particionando o disco
fdisk
d - apaga uma partio t - muda tipo da partio
Command (m for help): t Partition number (1-5): 3 Hex code (type L to list codes): L 0 Empty 9 AIX 75PC/IX b7 BSDI fs 1 DOS 12-bit a OS/2 Boot 80 old Minix swap 82 Linux Swap ... 83 Linux Native ... Hex code (type L to list codes): 82
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

b8 BSDI

Linux 413

Particionando o disco
fdisk
w - grava as alteraes nas tabelas e sai q - sai sem alterar as tabelas de parties

disk druid
interface grfica (mais amigvel) RedHat 5.0 (ou superior)

Linux 414

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Configuraes adicionais
Mouse

Linux 415

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Configuraes adicionais
Mouse

Linux 416

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Configuraes adicionais
Placa de vdeo (XWindow)

Linux 417

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Configuraes adicionais
Placa de vdeo (XWindow)

Linux 418

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Configuraes adicionais
Placa de vdeo (XWindow)

Linux 419

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Configuraes adicionais
Placa de vdeo (XWindow)

Linux 420

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Configuraes adicionais
Placa de vdeo (XWindow)

Linux 421

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Configuraes adicionais
Placa de vdeo (XWindow)

Linux 422

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Configuraes adicionais
Hora do sistema

Linux 423

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Instalao
lilo (Linux loader)
Gerencia qual o sistema operacional vai ser carregado (quando a mquina tem outro sistema operacional ou quando tem outro kernel) Programa responsvel pela carga do kernel permite a passagem de parmetros para o kernel Geralmente instalado na MBR (Master Boot Record)
Linux 424
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Configurao TCP/IP

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Classe Ns dispo A B C D E
Linux 426

Classes de Endereos IP
Bits Ini End Ini 0-127 128-191 192-223 224-239 240-255
24

2 =167,772 0XXX 2 =65,536 2 =256


8 16

10XX 110X 1110 1111


2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Classes de Endereos IP
Classe A B C D E 1 Byte 1-126 128-191 192-223 224-239 240-254 Formato Comentrio R.C.C.C R.R.C.C R.R.R.C Multicast End. Experimental Redes Principais Grandes sites

R=Rede, C=Computador
Linux 427
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

31

Mscaras de sub-redes 15 0
Rede Computadores
15 10 9 0

31

Rede

Sub

Comp

Nmero de sub-redes = 26 = 64 Nmero de computadores = 210 = 1024 Endereos com todos 0, todos 1 e 127 no so usados,
Linux 428
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Mscaras de sub-redes
31 16 15 8 7 0

Rede
31 11111111 16 11111111

Sub
15 8 7

Comp
0

11111111

11000000

31
255 255

16

15
255

7
192

Linux 429

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Arquivos de Configurao
No Linux as redes TCP-IP so controladas por um conjunto de arquivos armazenados no diretrio /etc /etc/hosts
Mapeia nomes endereos IP de computadores em

/etc/networks
Mapeia nomes de domnio em endereos de rede

/etc/rc.d/rc3.d/S10network
Linux 430

Configura e ativa interfaces ethernet no boot


2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

/etc/hosts
Contm IP, nome principal e nomes alternativos
# /etc/hosts para computador neanderthal 127.0.0.1 localhost.localdomain localhost neanderthal # # outros computadores 146.164.21.128 comp1.matriz.com.br comp1 # # impressora na rede 146.164.22.212 hpcor.matriz.com.br hpcor
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 431

/etc/networks
Contm IP com endereo da rede e mais o byte da sub-rede, nome principal e nomes alternativos
# /etc/networks para computador neanderthal localnet 127.0.0.0 matriz-s1 146.164.21 matriz-s2 146.164.22

Linux 432

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Configurando interface de rede


ifconfig interface [famlia] [opes] | endereo
interface: especifica o nome da interface, por exemplo eth0 famlia: endereo da famlia usada para decodificar os endereos de protocolos. Endereos disponveis:
inet (TCP-IP) o padro inet6 (IPv6) ddp (Apple Talk) ipx (Novell ax25 e netrom (Packet Radio)
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 433

Configurando interface de rede cont


1

ifconfig interface [famlia] [opes] | endereo opoes


up
interface ativada. Implcito se endereo fornecido

down
interface desativada

netmask endereo
endereo define a mscara da rede IP

irq endereo
Linux 434

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Interrupo para a placa de rede (se possvel)

Configurando interface de rede cont


2

ifconfig interface [famlia] [opes] | endereo opoes


[-]broadcast [endereo]
define o endereo de broadcast para a interface

metric N
Mtrica da interface. Valor N representa custo de enviar pacote.

mtu N
maximum transfer unit da interface. Nmero mximo de bytes que a interfaxe pode controlar
Linux 435
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Usando ifconfig
Ifconfig ifconfig eth0
Link encap:Ethernet HWaddr 00:00:21:F9:50:F0 inet addr:136.154.251.51 Bcast:136.154.255.255 Mask:255.255.248.0 UP BROADCAST RUNNING MTU:1500 Metric:1 RX packets:28166 errors:0 dropped:0 overruns:0 frame:10 TX packets:3 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 Interrupt:5 Base address:0x300

eth0

Linux 436

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Usando ifconfig cont


Ifconfig eth0 loja1.com.br up
ativa a placa de rede em eth0 com o IP de loja1.com.br

ifconfig eth0 loja1 broadcast


136.154.255.255 netmask 255.255.248.0
ativa a placa de rede fornecendo a mscara e o broadcast

Linux 437

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Roteando tcp-ip
O programa route manipula as tabelas de roteamento do kernel route sem argumentos lista a tabela de roteamentos Opes importantes
-n
mostra o mesmo que route, trocando os nomes pelos ips

del
exclui a rota para especificado na tabela
Linux 438
2001 MTY/NCE/UFRJ

endereo

destino

add

Elaborado por Marcio Thadeu Young

route

Roteando tcp-ip cont


Flags Metric Ref Use Iface U 0 0 0 eth0 U 0 0 0 lo UG 0 0 0 eth0

Kernel IP routing table Destination Gateway Genmask 146.164.248.0 * 255.255.248.0 127.0.0.0 * 255.0.0.0 default 146.164.248.1 0.0.0.0 Destination
Destino da rota

Gateway
Endereo usado pela rota

Genmask
Mscara de rede para a rota

Linux 439

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Significado dos campos (route)


Destination: Destino da rota Gateway: Endereo usado pela rota Genmask: Mscara de rede para a rota Flags: U=up, H=Host, G=gateway, D=rota dinmica, M=rota modificada Metric: Custo da rota Ref: Nmero de rotas que confiam nesta rota Use: Nmero de vezes que a tabela foi usada Iface: Interface para onde a rota direciona
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young


Linux 440

Acrescentando rotas
route add [-net | -host] end [netmask NM] [gw GW] [metric N] dev -net | -host
Endereo de rede (net) ou computador (host)

end
Endereo destino de uma rota

netmask NM
M\scara de rede para da rota sendo acrescentada. Normalmente no precisa ser fornecida

gw GW
Quaisquer pacote para o endereo end ser roteado pelo gateway de endereo GW
Linux 441

dev device

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Acrescentando rotas exemplos


route add 146.164.12.233 eth0
Normalmente primeiro se adiciona a rota para a mquina local

route add default gw 146.164.12.193


Agora coloca-se o roteamento padro, que ser usado se nenhuma outra rota for encontrada. Todos os pacotes sero roteados atravs do gateway

route add -net 196.56.76.0 netmask 255.255.255.0 eth1


Rota para a rede 196.56.76.0 atravs de eth1

Linux 442

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Apache

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Apache, O que ?
Apache foi um desenvolvimento do servidor http da NCSA (National Center for Super Computer Applications) de 1994 O nome uma corruptela de A Patchy, por que o programa no incio sofreu muitas correes (patches) Endereo para mais informaes http://www.apache.org A fundao The Apache Software Foundation existe para dar suporte legal e financeiro para os projetos do grupo
Linux 444
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Diretrios importantes
/home/httpd/html
Diretrio com as pginas do site, incluindo a principal

/home/httpd/cgi-bin
Armazena os scripts, programas, etc cgi

/home/httpd/icons
Armazena figuras

Linux 445

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Diretrios importantes
/etc/httpd/conf
Diretrio onde ficam armazenados os arquivos de configurao

/etc/httpd/logs
Diretrio onde ficam armazenados os logs de acesso

/etc/httpd/modules
Diretrio onde ficam armazenados os mdulos de funes

Linux 446

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Arquivos e programas
/home/httpd/html/index.html
Pgina inicial do Apache no servidor

/home/usuario/public_html/index.html
Pgina inicial do usurio usurio

/sbin/httpd
Daemon do Apache

/etc/rc.d/init.d/httpd
Script de inicializao do apache

/var/run/httpd.pid
Armazena o pid do daemon do Apache
Linux 447
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Arquivos e Programas
/etc/httpd/httpd.conf /etc/httpd/access.conf /etc/httpd/srm.conf
Arquivos de configurao do Apache O arquivo httpd.conf o primeiro a ser lido Todos os trs arquivos so tratados de maneira idntica Verses mais modernas do Apache usam somente o arquivo httpd.conf, o contedo dos outros arquivos foi transferido para este arquivo.
Linux 448
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Configurao
Nos arquivos indicamos as opes das diretivas e os mdulos que sero executados

Diretivas so opes que indicam como o servidor deve funcionar Mdulos so partes do programa que so carregadas somente quando for necessrio
Linux 449
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Diretivas em srm.conf
DocumentRoot /home/httpd/html
Especifica onde estar a pgina principal do apache

UserDir public_html
O nome do diretrio que adicionado no diretrio home de um usurio quando, por exemplo, um pedido para www.computador.com/~usuario recebido

DirectoryIndex index.html index.shtml index.cgi home.html home.html


Linux 450

Nomes vlidos como pginas de abertura de um site.


2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Diretivas em srm.conf
ScriptAlias /cgi-bin/ /home/httpd/cgi-bin/
Apelido do diretrio onde ficam os cgis

Linux 451

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Diretivas em httpd.conf
ServerType standalone
Se o daemon ser iniciado a partir do inet.d ou script. no alterar!

Port 80
Nmero da porta que o tcp ir responder

ServerAdmin root@localhost
Endereo do culpado por tudo

ServerRoot /etc/httpd
Onde ficam os arquivos de config, erro e log

ErrorLog logs/error_log
Linux 452

Onde ficam os logs de erro. Se no comea


Elaborado por Marcio Thadeu Young

2001 MTY/NCE/UFRJ

Diretivas em httpd.conf
BindAddress *
Ouve conexes em todos os IPs do servidor Liga um IP, nome ou todos os IPs do servidor

Listen [IP:]porta
Instrui Apache para ouvir mais de um IP ou porta Listen 80 Listen 8000 Listen 146.164.35.211:80 Listen 146.164.35.212:8000
Linux 453
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Diretivas em httpd.conf
Timeout 300
Nmero de segundos antes de receber ou enviar um timeout

KeepAlive On
Conexes persistentes, mais de um pedido de pgina por conexo

StartServers
Nmero mximo de cpias do servidor criadas no incio. O nmero varia com a necessidade

MaxClients
Linux 454

Nmero mximo de conexes concorrentes ao site.


2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Servidores Virtuais
Permite ao daemon responder a mais de um endereo IP Forma padro:
<VirtualHost host.domain.com> ServerAdmin root@mail DocumentRoot /diretorio ServerName host.domain.com ErrorLog logs/host-error_log TransferLog logs/host-access-log </VirtualHost>
Linux 455
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Exemplo
Assuma dois IPs para a mesma mquina
10.0.0.70 suporte.com.br 10.0.0.80 seguranca.com.br Exitem dois diretrios /home/suporte /home/seguranca <VirtualHost suporte.com.br> ServerAdmin root@suporte.com.br DocumentRoot /home/suporte ServerName suporte.com.br ErrorLog logs/suporte-error_log TransferLog logs/suporte-error_log </VirtualHost>
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Linux 456

Exemplo Virtual Host cont


<VirtualHost seguranca.com.br> ServerAdmin root@suporte.com.br DocumentRoot /home/seguranca ServerName seguranca.com.br ErrorLog logs/seguranca-error_log TransferLog logs/seguranca-error_log </VirtualHost>

Linux 457

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Instalando Pacotes

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

RPM - Red Hat Package Manager


Sistema desenvolvido pela Red Hat para gerenciamento da instalao e desinstalao de pacotes Pacotes terminam com rpm Maioria das distribuies j vem com gerenciadores para instalar pacotes rpm Pode ser usado com comandos no modo texto ou interfaces grficas (ex. gnorpm)

Linux 459

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

RPM
Opera em vrios modos
Instalar Desinstalar Atualizar Consultar Verificar Construir

Para rodar em modo comando rpm [opes] nome_do_pacote


Linux 460
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

RPM - opes gerais


Estas opes podem ser usadas em qualquer modo
--vv --help --quiet --version muito verboso lista ajuda imprime s o estritamente necessrio verso do rpm

Linux 461

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

RPM - passos de instalao


Verifica dependncias Verifica os conflitos Processo arquivos de configurao Instala os arquivos Executa o ps-processamento Atualiza o banco de dados de pacotes instalados

Linux 462

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

RPM - opes de instalao


rpm -i [opes_instal] pacote
-h para --percent --force --replacefiles arquivos --test --nodeps --excludedocs
Linux 463

exibe # ao longo da instalao indicar avanos fornece percentual ao invs de # instala de qualquer maneira instala mesmo que ele substitua de outros pacotes verifica erros sem instalar no verifica dependncias no instala documentao
2001 MTY/NCE/UFRJ

Elaborado por Marcio Thadeu Young

RPM - Atualizando pacotes


rpm -U [opes_instal] pacote Atualiza ou instala um pacote o mesmo que instalar, sendo que todas as verses anteriores so removidas rpm -F [opes_instal] pacote Instala somente se uma verso anterior j existe
Linux 464
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

RPM - passos de desinstalao


Verifica as dependncias. Caso algum pacote dependa deste, no remove. Executa os roteiros (scripts) de desinstalao Verifica os arquivos de configurao. Salva uma cpia de qualquer arquivo de configurao modificado Exclui os arquivos Executa os roteiros de ps desinstalao Atualiza o banco de dados
Linux 465
2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

RPM - opes de desinstalao


rpm -i [opes_desinstal] pacote
--nodeps --test no verifica dependncias no desinstala, somente testa

--noscripts no executa roteiros de pr e ps desinstalao

Linux 466

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

RPM - consultando o banco


rpm -q [opes_consulta] pacote
-a -f arquivo arquivo --provides -i -l -R todos os pacotes instalados consulta pacote associado

com

que capacidades o pacote prov informaes sobre o pacote arquivos associados ao pacote lista os pacotes de que ele depende

Linux 467

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

RPM - Verificando pacotes


rpm -V [opes_verifica] pacote Permite verificar se um pacote foi modificado indevidamente desde sua instalao Compara: tamanho, checksum MD5, permisses, tipo, proprietrios e definies

Linux 468

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

RPM - Verificando pacotes


Cdigos de falhas
5 S L T D U G M falhou no checksum tamanho foi alterado links simblicos com problemas Data de modificao difere do original Erro no dispositivo Usurio diferente do original Grupo diferente do original Modo diferente do original

Linux 469

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young

Comandos teis

2001 MTY/NCE/UFRJ
Elaborado por Marcio Thadeu Young