Professional Documents
Culture Documents
Manual de Linux
para iniciados
Acronimos
ARM
AT&T
AX.25
BIOS
CPU
CSR
DBM
DDP
DLL
EISA
FTP
FSSTND
GE
GIF
GNU
GPL
GUI
IDE
IEEE
IMP
IP
IPV4
IPX
ISA
JPEG
libnsl
libsocket
LILO
MIPS
MIT
MTA
NetBEUI
NetBIOS
ii
Acronimos
NFS
NIS
NIS+
NYS
PCI
PID
PNG
PPM
POSIX
RAM
RPC
RPM
RSA
YP
TGZ
TCP/IP
TIFF
UDP
UUCP
VLB
X.25
XPM
Conteudo
Acronimos
1 Historia do Linux
1.1 O Unix . . . . . . . . . . . . . . . . . . . . . . .
1.2 O Linux . . . . . . . . . . . . . . . . . . . . . .
1.2.1 Evoluc~ao do Linux em numeros . . . . .
1.2.2 Linux vs Sistemas Operativos Comerciais
1.3 Distribuic~oes . . . . . . . . . . . . . . . . . . .
1.3.1 Debian GNU/Linux . . . . . . . . . . . .
1.3.2 Mandrake . . . . . . . . . . . . . . . . .
1.3.3 Corel Linux . . . . . . . . . . . . . . . .
1.3.4 Slackware . . . . . . . . . . . . . . . . .
1.3.5 Red Hat Linux . . . . . . . . . . . . . .
1.3.6 SuSE Linux . . . . . . . . . . . . . . . .
1.3.7 Caldera OpenLinux . . . . . . . . . . . .
1.3.8 GNUware . . . . . . . . . . . . . . . . .
1.3.9 WholeLinux . . . . . . . . . . . . . . . .
1.3.10 Mini distribuic~oes . . . . . . . . . . . . .
1.4 Ambientes Gracos . . . . . . . . . . . . . . . .
1.4.1 KDE . . . . . . . . . . . . . . . . . . . .
1.4.2 Gnome . . . . . . . . . . . . . . . . . . .
1.4.3 Window Maker . . . . . . . . . . . . . .
1.4.4 AfterStep . . . . . . . . . . . . . . . . .
Escolha da lngua . . . . . . .
Congurac~ao do teclado . . .
Congurac~ao do rato . . . . .
Bem vindo ao Red Hat Linux
Opc~oes de instalac~ao . . . . .
Particionamento automatico .
Particionando o disco . . . . .
2.7.1 Variaveis das partic~oes
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
2
8
9
11
12
12
13
14
15
15
16
17
18
19
19
20
21
22
23
25
25
26
26
27
28
28
29
29
iv
Conteudo
2.8
2.9
2.10
2.11
2.12
2.13
2.14
2.15
2.16
2.17
2.18
2.19
2.20
2.21
2.22
4 Conceitos basicos
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4.1 A Shell . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Comandos basicos do Linux . . . . . . . . . . . . . .
4.2.1 Comandos e atalhos essenciais . . . . . . . . .
4.2.2 Comandos comuns de Informac~ao do Sistema
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
30
31
31
31
32
33
33
33
33
34
35
36
36
37
38
38
39
39
40
41
41
42
42
43
43
44
44
44
45
47
50
52
55
55
57
59
63
63
65
65
69
Conteudo
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5 Kernel
73
80
82
87
87
89
92
94
95
6 Servicos
6.1 Automount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1.1 Tipos de automontagem . . . . . . . . . . . . . . . . . . . . . . .
6.1.2 Instalac~ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1.3 Congurac~ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 NFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.1 Montar um Servidor de NFS . . . . . . . . . . . . . . . . . . . . .
6.2.1.1 O portmapper . . . . . . . . . . . . . . . . . . . . . . .
6.2.1.2 Mountd e o nfsd . . . . . . . . . . . . . . . . . . . . . .
6.2.2 Montar o Cliente de NFS . . . . . . . . . . . . . . . . . . . . . . .
6.2.2.1 Optimizar o NFS . . . . . . . . . . . . . . . . . . . . . .
6.3 NIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.1 NIS ou NIS+? . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.2 Como trabalhar . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.3 O que e necessario para congurar o NIS? . . . . . . . . . . . . .
6.3.3.1 O RPC Portmapper . . . . . . . . . . . . . . . . . . . .
6.3.3.2 Determinar se se e um Servidor, Escravo ou Cliente . . .
6.3.3.3 O Software . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.3.4 Montar um Cliente de NIS que utiliza o NIS Tradicional
6.3.4 O que e preciso para montar o NYS? . . . . . . . . . . . . . . . .
6.3.4.1 Determinar se se e um Servidor, Escravo ou Cliente. . .
6.3.5 O Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.6 Congurar um Cliente de NYS que usa o NYS . . . . . . . . . . .
6.3.7 O Ficheiro nsswitch.conf . . . . . . . . . . . . . . . . . . . . . . .
6.3.8 Congurar um Servidor de NIS . . . . . . . . . . . . . . . . . . .
6.3.8.1 O Programa ypserv do Servidor . . . . . . . . . . . . . .
6.3.8.2 O programa do Servidor yps . . . . . . . . . . . . . . . .
6.3.8.3 O programa yppasswdd . . . . . . . . . . . . . . . . . .
6.3.9 Vericar a instalac~ao do NIS/NYS . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
101
101
101
102
102
103
104
104
104
105
106
107
108
108
109
109
109
110
110
112
112
113
113
113
114
114
115
115
115
vi
Conteudo
6.4 Samba . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4.1 Instalac~ao . . . . . . . . . . . . . . . . . . . . .
6.4.2 Congurac~ao . . . . . . . . . . . . . . . . . . .
6.5 Sendmail . . . . . . . . . . . . . . . . . . . . . . . . . .
6.5.1 Principais vantagens . . . . . . . . . . . . . . .
6.5.2 Exemplos de congurac~ao do Servidor . . . . .
6.5.3 Congurac~ao do servico . . . . . . . . . . . . .
6.5.4 Outros Servidores de Mail . . . . . . . . . . . .
6.6 Apache+SSL+PHP4 com a Interface de Webmail IMP
6.6.1 Instalac~ao do Apache com PHP e Mod-SSL . .
6.6.2 Criar certicado para o Servidor . . . . . . . . .
6.6.3 Criar certicados manualmente . . . . . . . . .
6.7 FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.7.1 Controlar o acesso aos servicos . . . . . . . . . .
6.7.2 FTP Anonimo . . . . . . . . . . . . . . . . . . .
6.8 DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.8.1 Congurac~ao . . . . . . . . . . . . . . . . . . .
6.8.2 Arrancar o named . . . . . . . . . . . . . . . . .
6.8.3 Resolvers . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
116
117
117
126
126
127
128
130
131
131
136
136
138
138
138
139
140
143
143
Lista de Tabelas
1.1 Comparativo das principais caractersticas . . . . . . . . . . . . . . . . . .
1.2 Filesystems suportados . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Aplicac~oes suportadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
10
11
Lista de Figuras
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
1.12
1.13
1.14
1.15
Linus Torvalds . . . . . . . . . .
Linux Pinguim - TUX . . . . .
Logotipo do Debian . . . . . . .
Logotipo do Mandrake . . . . .
Logotipo do Corel Linux . . . .
Logotipo do Slackware . . . . .
Logotipo do Red Hat Linux . .
Logotipo do Suse Linux . . . .
Logotipo do Caldera OpenLinux
Logotipo do GNUware . . . . .
Logotipo do WholeLinux . . . .
Screenshot do KDE . . . . . . .
Screenshot do GNOME . . . . .
Screenshot do Window Maker .
Screenshot do AfterStep . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
7
12
12
13
14
15
16
16
17
18
21
22
23
24
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
2.13
2.14
2.15
2.16
2.17
2.18
Escolha da lngua . . . . . . . . . . . . .
Congurac~ao do teclado . . . . . . . . .
Congurac~ao do rato . . . . . . . . . . .
Opc~oes de congurac~ao . . . . . . . . . .
Particionamento automatico . . . . . . .
Particionando o disco com o Disk Druid
Escolher as partic~oes a formatar . . . . .
Instalar o LILO . . . . . . . . . . . . . .
Congurac~ao da rede . . . . . . . . . . .
Congurac~ao do rewall . . . . . . . . .
Congurac~ao do fuso horario . . . . . . .
Congurac~ao da(s) lingua(s) . . . . . . .
Congurac~ao de contas . . . . . . . . . .
Congurac~ao de autenticac~oes . . . . . .
Escolha de grupos de pacotes . . . . . .
Escolha de pacotes individuais . . . . . .
Depend^encias . . . . . . . . . . . . . . .
Congurac~ao da placa graca . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
25
26
27
28
29
30
34
35
35
36
37
37
38
39
40
41
42
42
Lista de Figuras
2.19
2.20
2.21
2.22
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
43
44
45
45
48
Captulo 1
Historia do Linux
O nome Linux surgiu da junc~ao de Linus com Unix. Linus vem de Linus Torvalds, criador do
embri~ao do Unix e uma das guras mais importantes em termos de criac~ao e converg^encia
dos esforcos do sistema, mas falaremos dele mais adiante. Para ja fazemos uma descric~ao
do que e o Unix e qual foi o seu desenvolvimento ao longo do tempo.
1.1 O Unix
A origem do Unix tem ligac~ao com o Sistema Operativo Multics, projectado em meados
dos anos 60. Este projecto foi realizado pelo Massachusetts Institute of Technology (MIT),
pela General Eletric (GE), pelos Laboratorios Bell (Bell Labs) e pela American Telephone
and Telegraph (AT&T). A ideia era que o Multics tivesse caractersticas de tempo partilhado, sendo o sistema mais arrojado da epoca. Em 1969, ja existia uma vers~ao primitiva
de tal sistema a correr num computador GE645.
Ora tempo partilhado e o mesmo que dizer que varios utilizadores podem partilhar os
mesmos recursos de uma mesma maquina. Antigamente, o que existia eram varios terminais que davam acesso a maquinas poderosas que prestavam servicos a este, havia pois
uma grande centralizac~ao de operac~oes.
Ken Thompson era um pesquisador do Multics e trabalhava na Bell Labs. Mesmo quando
essa empresa se resolveu retirar do projecto, ele continuou os seus estudos no novo sistema operativo, n~ao no sistema original em toda a sua plenitude, mas sim em criar algo
mais pequeno que conservasse as ideias basicas com dimens~ao proporcinal a sua empresa.
Comeca-se assim a saga do mundo Unix. Quem o baptizou foi Brian Kernighan, tambem
pesquisador da Bell Labs. O sistema foi lancado com a ideia inicial de proporcionar um
ambiente unicado de programac~ao e desenvolvimento.
Em 1973, Dennis Ritchie, outro pesquisador da Bell Labs, reescreveu todo sistema para
uma linguagem de alto nvel, chamada C (desenvolvida por ele), para um PDP-11 (computador muito popular na epoca). A situaca~o de ter um sistema escrito em linguagem de
alto nvel foi mpar e pode ter sido um dos motivos da aceitac~ao do sistema por parte dos
utilizadores externos a Bell.
No perodo de 1977 a 1981, a AT&T mexeu no sistema, fazendo algumas modicac~oes
particulares e lancou o System III. Em 1983, apos diversas modicac~oes, novidades e optimizac~oes do sistema, foi lancado o famoso Unix System V, comercial. Hoje, esse sistema e
parte do padr~ao internacional no mercado Unix, sendo comercializado por diversas empresas de grande porte que necessitam de tudo que um sistema operativo robusto como esse
pode oferecer.
O Unix e comercializado por diversas empresas de renome internacional, tais como IBM,
AT&T, Hewlett-Packard, DEC, Data General, Cray Research, Philips, Sun, Olivetti etc.
o sistema operativo com mais longevidade de todo o mundo da informatica e ate hoje e
E
o sistema operativo para quem precisa de fazer trabalho mais exigente e complexo.
N~ao e utilizado por muitas empresas porque e comercial e custa algumas dezenas de milhares de contos, alem disso e fechado, n~ao permitindo personalizac~oes ou alterac~oes de
congurac~ao. Logo, quem pode pagar por um sistema deste e quem realmente precisa dele
tal como e.
1.2 O Linux
Em Agosto de 1991, Linus Torvalds escrevia assim no newsgroup comp.os.minix:
Hello everybody out there using minix - i'm doing a (free) operating system (just
a hobby, won't be big and professional like gnu) for 386(486) AT clones.
1.2. O Linux
O Minix e um clone do Unix, gratis, cujo codigo fonte esta disponvel. Foi feito com
o intuito estritamente educacional, para pessoas em geral que querem correr no seu computador um sistema compatvel com o Unix e aprender como e que o sistema operativo
funciona por dentro. Vale a pena frisar que ele foi escrito do zero e apesar de ser um clone
do Unix n~ao contem nenhum codigo da AT&T e por isso pode ser distribuido gratuitamente.
Linus Torvalds interessou-se bastante pelo Minix e decidiu desenvolver um sistema mais
poderoso que as limitac~oes e pretens~oes do Minix cujas caractersticas basicas s~ao:
ls, make, sort), bibliotecas (atoi, fork, malloc, read, stdio), dicionarios e paginas de
manual online.
Multi-tarefa Real
Varios programas podem ser executados ao mesmo tempo independentemente (ou n~ao), com areas de memoria protegidas umas das outras. O que
isso implica e que ha uma reduc~ao muito grande de bloqueios do sistema
pois caso um programa bloqueie n~ao afecta a execuc~ao dos outros e alem
disso n~ao compromete a estabilidade de todo o sistema.
Multi-utilizador
Multi-processamento
Pode-se usar mais de um processador na mesma maquina e consequentemente aumentar bastante a performance de maneira eciente e estavel.
O sistema l^e do disco apenas o que esta a ser utilizado pelo programa,
n~ao sobregarregando o processamento com outros programas e aplicac~oes
futeis.
Gracas a esta caracterstica podemos ver e/ou gravar numa serie de sistemas de cheiros de multiplos sistemas operativos.
1.2. O Linux
Multi-Plataforma
1.2. O Linux
sobre ela com o compromisso apenas de n~ao tornar os programas fechados e comercializados.
De forma pratica, para o utilizador domestico, o facto de ser livre signica que n~ao precisa
se preocupar com a pirataria. Tudo que ele faz e legal: pode usar, distribuir, copiar, modicar, fazer o que quiser que estara sempre dentro dos limites da lei. E se isto acontece
com o utilizador domestico, a nvel empresarial as vantagens s~ao ainda maiores.
Existem hoje em dia diversos aplicativos gratuitos criados e ja operacionais para Linux.
Praticamente todas as tarefas imaginaveis ja tem software para Linux, totalmente gratuito.
Existem pacotes de aplicativos similares ou superiores aos de outras plataformas, com
folhas de calculo, editor de textos, gerador de html, agenda electronica entre outras coisas
(podemos citar o StarOce, Word Perfect, Koce). Para fazer desenhos e modicar imagens tambem existem diversos aplicativos utilizados pelos maiores webmasters/designers
do mundo (alguns exemplos s~ao o GIMP, Blender, etc.). Para navegar na Web existem
varios browsers disponveis com muitos dos plugins mais divulgados (como o Netscape,
Opera, Lynx). Para gravar cheiros por ftp, ouvir musica, etc, e tudo com o codigo fonte
testado e aprovado por milhares de pessoas.
O ambiente graco e algo que tambem merece destaque. Um mito refere que o Linux
e um ecr~a preto com um cursor a piscar. Realmente e verdade mas so para quem desejar
utilizar a consola, pois alem disso tambem tem ambientes gracos com janelas, bot~oes,
menus, cores, etc, mas os seus ambientes gracos ser~ao abordados mais adiante no ponto
1.4 na pagina 19.
1991
1992
1993
1994
1995
Utilizadores: 1
Tamanho: 10 000 linhas de codigo
Vers~ao: 0.01
Linus Torvalds, 21 anos, consegue sozinho fazer um sistema operativo a que
chama Linux (Lyn - ucks). Depois de anunciar num forum de discuss~ao
da Internet ele p~oe o programa a disposic~ao de quem o quiser copiar. Dez
pessoas fazem download do programa e cinco respondem com a reparaca~o
de bugs, melhorias de codigo e novas aplicaco~es. Em dezembro mais de 100
pessoas de todo o mundo juntam-se em mailing lists e newsgroups sobre
Linux.
Utilizadores: 1 000
Vers~ao: 0.96
Tamanho: 40 000 linhas de codigo
O Linux funciona perfeitamente nos PC's de secretaria (Desktop) e corre
em processadores Intel x86. O Interface graco GUI e acrescentado.
Utilizadores: 20 000
Vers~ao: 0.99
Tamanho: 100 000 linhas de codigo
Mais de cem programadores contribuem com partes de codigo. Linus Torvalds delega a revis~ao do codigo para um nucleo duro de cinco pessoas.
Utilizadores: 100 000
Vers~ao: Linux 1.0
Tamanho: 170 000 linhas de codigo
Utilizadores: 500 000
Vers~ao: Linux 1.2
Tamanho: 250 000 linhas de codigo
1.2. O Linux
1996
1997
1998
2 http://www.linuxjournal.com
3 http://counter.li.org/linuxcounter
eng.html
10
Neste primeiro quadro podemos ver uma comparac~ao entre as caractersticas e funcionalidades entre o Linux, OS/2 e Windows NT:
[Fonte: Thompson, B., Linux Journal, No 1 Maio 1994]
Linux
Padr~oes
Disco (Mnimo)
Disco (tpica)
Disco(completo)
Memoria
Tpico
Carga
Multitarefa
Multithreading
Multiprocessamento
Multiutilizador
Portabilidade simples
Cache din^amico
Memoria por process.
Protocolo de Rede
OS2/Warp
POSIX
15 MB
60 MB
90 MB
1 MB
16 MB
24 MB
Sim
Sim
Sim
Sim
Sim
Sim
3 Gb
TCP/IP, IPX
Windows
4.0
NT
OS/2 32 e 16 bits
Win32
20 MB
50 MB
32 MB
70 MB
40 MB
100 MB
16 MB
24 MB
32 MB
48 MB
Sim
Sim
Sim
Sim
Sim
Sim
N~ao
N~ao
N~ao
Sim
N~ao
Sim
512 Mb
2 Gb
TCP/IP,
IPX
e TCP/IP, IPX e
NETBIOS
NETBEUI
Tabela 1.1: Comparativo das principais caractersticas
Linux
FAT (DOS)
HPFS (OS/2)
NTFS (NT)
EXT2 (Linux)
ISO9660 (CDROM)
NFS
SysV,Xenix
Stacker
OS2/Warp
Sim
Sim
Sim
Sim
Sim
N~ao
Sim
N~ao
Sim
Sim
Sim
Sim
N~ao
Sim
Sim
Tabela 1.2: Filesystems suportados
Windows
4.0
Sim
Sim
Sim
N~ao
Sim
N~ao
N~ao
NT
11
1.3. Distribuic~oes
Neste ultimo quadro comparativo podemos ver que tipo de aplicac~oes poder~ao correr em
cada um deles:
[Fonte: Thompson, B., Linux Journal, No 1 Maio 1994]
Linux
DOS
Win16
OS/2-16
OS/2-32
Win32
POSIX
X-Windows
OS2/Warp
Sim
Sim
Sim
Sim
N~ao
Sim
N~ao
Sim
N~ao
N~ao
Sim
N~ao
Sim
N~ao
Tabela 1.3: Aplicaco~es suportadas
Windows
4.0
NT
Sim
Sim
Sim
N~ao
Sim
Sim
N~ao
1.3 Distribuic~oes
Como o Linux e essencialmente um software livre, pode-se fazer o seu download da Internet
sem infringir os direitos de copyright de ninguem. Em geral, os produtores de distribuic~oes
em CD-ROM colocam o conteudo das mesmas disponveis para download sem cobrar nada
por isto - mas claro que neste caso n~ao vamos ter direito a suporte, manual impresso e
outras comodidades oferecidas a quem paga um pouco mais pelo sistema.
Justamente por ser um software de livre alterac~ao e distribuic~ao, muitas pessoas e organizac~oes dedicam-se a criar pacotes contendo o kernel do Linux e uma serie de aplicativos,
utilitarios, manuais e programas de instalac~ao. Estes pacotes s~ao as chamadas distribuic~oes.
Existem distribuic~oes minusculas, que podem ser executadas a partir de disquetes, e existem distribuic~oes que ocupam 6 CDs ou mais. Cada uma tem os seus pontos fortes e fracos.
Uma pergunta muito comum entre os utilizadores e: "Qual a melhor distribuica~o de Linux?". Esta pergunta n~ao tem uma resposta unica - a melhor e a que atende as necessidades
de cada utilizador.
De seguida, vamos apresentar uma breve descric~ao de algumas distribuic~oes, para que
se possa tirar algumas duvidas.
12
1.3.2 Mandrake
Ha menos de dois anos uma distribuic~ao pouco conhecida chegou ao mercado com grandes
esperancas. Dois anos depois, a MandrakeSoft faz uma das mais agradaveis distribuico~es
do Linux.
13
1.3. Distribuic~oes
Drake, Hard Drake, System Services, Linuxconf, Network Conguration (via Linuxconf),
Drak Font e muitos outros. "O Toque"tambem inclui a habilidade de nos tornarmos superutilizadores com um mero clique do rato e uns toques no teclado.
O sistema de menus foi simplicado, para que possa ser muito facil e detalhado achar
aplicativos. Ao inves de se car a procurar no meio de 100 aplicativos dentro do menu
utilitarios, os gestores de cheiros est~ao no seu proprio grupo, dentro de aplicativos, ferramentas de congurac~ao est~ao em congurac~ao e as consolas foram postos em shells.
Gael4 e companhia misturaram a olhos vistos o melhor de muitos sistemas operativos,
e ate mesmo colocaram o tema "Aqua"(para o Gnome e o KDE) para os f~as do OS X.
Todos estes esforcos fazem do Linux Mandrake muito facil de usar, bem como poderoso ao
mesmo tempo.
Muitos dos problemas identicados na vers~ao beta foram corrigidos a tempo da vers~ao
1.0 nal, o que indica que a Corel realmente leva a serio seu processo de desenvolvimento.
Toda a congurac~ao de rede foi includa no KDE Control Center. Os utilizadores do
Windows v~ao espantar-se ao ver que podem trocar o seu IP atraves de uma familiar
interface graca, sem ter que reiniciar a maquina depois!
4 Ga
el
14
1.3.4 Slackware
Talvez a mais injusticada das distribuico~es, o Slackware criou uma fama de ser difcil de
instalar e manter, o que por um lado faria com que ele n~ao fosse uma boa escolha para
utilizadores iniciantes, e por outro daria aos seus utilizadores uma especie de 'atestado de
hacker'. Nada mais falso, entretanto.
15
1.3. Distribuic~oes
16
pacote e composto por 7 CDs ou um DVD-ROM, a abrang^encia do conteudo e impressionante, comecando pelo software: os 2000 pacotes em formato RPM que incluem o kernel
2.4.4 (com suporte a USB para impressoras, teclados e mouses, ate 64 GB de memoria
RAM, suporte a ReiserFS, raw devices, Pentium 4, LFS e varias controladores RAID),
glibc 2.2.2, XFree 4.0.3 (com anti-aliasing de fontes TrueType, muito bom), KDE 2.1.2,
GNOME 1.4, StarOce 5.2, Samba 2.2, Kerberos 5, OpenLDAP 2, KDevelop 1.4, editores
HTML como o Bluesh e o Quanta+ e muito mais.
17
1.3. Distribuic~oes
assist^encia no uso do KDE, incluindo a conguraca~o de acessos dial-up com o KPPP.
A ^enfase do OpenLinux e a operac~ao 100% graca, ent~ao desde a instalac~ao tudo ocorre
em ambientes gracos, incluindo a a identicac~ao do hardware, congurac~ao do rato, teclado, rede, impressoras, etc. Utilizadores acostumados com o Windows n~ao dever~ao ter
diculdades para se ambientar no novo sistema.
A ferramenta de administrac~ao embutida e o COAS - Caldera's OpenLinux Administration
Software, 100% graco. O sistema de administraca~o de pacotes e o RPM, e n~ao ha grandes
diculdades para quem ja esta acostumado a administrar maquinas utilizando o linuxconf
(que e a ferramenta default do Red Hat) ou o Yast (ferramenta padr~ao do SuSE).
1.3.8 GNUware
O GNUware n~ao e uma distribuic~ao no sentido tradicional da palavra. Trata-se de um
CD-ROM com centenas de pacotes de software, incluindo n~ao apenas aqueles que se esta
acostumado a encontrar nas distribuic~oes correntes de Linux, como ainda muitos outros.
uma boa maneira de economizar tempo de download, e de ter sempre a m~ao todos os
E
programas de que se precisa com urg^encia nos momentos em que n~ao temos possibilidade
para fazer um download.
Podem-se utilizar os softwares em qualquer distribuic~ao de Linux, e ate mesmo noutras vers~oes de Unix - se se administra uma rede com varias arquitecturas diferentes,
e o CD ideal para deixar sempre montado em algum dos servidores...
Podem-se compilar os softwares com as opc~oes que preferir, e n~ao tera que se contentar
com compilac~oes genericas feitas por terceiros.
18
Em compensac~ao, tera que se passar pelo trabalho de congurar e compilar cada um dos
pacotes que se deseja usar. Administradores de sistemas experientes tendem a preferir passar por este trabalho, mas se ainda esta a comecar a trilhar os caminhos do Unix, talvez
deva considerar a ideia de tentar primeiro os pacotes pre-compilados (formato RPM ou
DEB, por exemplo).
Os pacotes est~ao organizados e classicados entre os directorios do CD. O primeiro nvel
divide-se em Console, Desktops (KDE e Gnome), Internet, Kernel e X11. Cada um dos nveis
subdivide-se em varios subnveis. Por exemplo, o nvel console expande-se em: Adminis-
de subdivis~ao dentro de si, e dentro de cada uma delas, encontramos as aplicaco~es, cujos
nomes dos arquivos exprimem claramente o nome original do pacote e a vers~ao.
1.3.9 WholeLinux
O WholeLinux n~ao e propriamente uma distribuic~ao de Linux, mas sim um conjunto de
aplicac~oes de software capazes de instalar o Linux numa congurac~ao pre-denida sem
necessidade de interacc~ao com o utilizador. E excelente para pessoas ou empresas que
estejam a pensar em criar aplicac~oes dedicadas baseadas na plataforma Linux, pois o utilizador nal pode simplesmente abstrair o processo de instalac~ao.
19
O WholeLinux actualmente n~ao e um produto para utilizadores nais - ele n~ao oferece
nem permite nenhuma congurac~ao durante a instalaca~o.
Linux Router Project - O Linux Router e uma distribuic~ao que cabe numa unica dis-
quete de 1,44MB e permite transformar um micro com duas interfaces de rede num router
de baixo custo e performance similar a de routers comerciais. Suporta uma serie de interfaces e protocolos.
LOAF (Linux on a
oppy) - Distribuic~ao numa unica disquete, voltada para o uso
em rede. Inclui uma serie de clientes de rede (lynx, ssh, telnet...) e tem vers~oes especcas
para as placas de rede mais comuns.
Mulinux - Distribuic~ao italiana que cabe numa disquete, e que vem com suporte a rede,
ppp, alguns servidores (http, at, fax...) e varios clientes, incluindo cliente de irc.
Pocket Linux - O Pocket Linux e uma distribuic~ao numa unica disquete voltada para ser
um cliente de rede (ssh, telnet, ftp...). Aceita placas de rede e modems.
Tomsrbt - O Tomsrbt e uma distribuica~o numa unica disquete, que contem ferramentas uteis para recuperar um computador que n~ao esteja a conseguir fazer o boot pelas vias
normais.
Trinux - Distribuic~ao voltada especicamente para tarefas de seguranca, vem com ferramentas para vericar (e tentar quebrar) a seguranca de redes locais. Ela e capaz de
transformar seu PC numa poderosa estac~ao de monitorizac~ao de rede, bastando para isso
reiniciar o computador com as suas duas (ou tr^es) disquetes.
20
Hoje os ambientes gracos como o KDE e o Gnome ja s~ao capazes de colocar o Linux
ate na mesa dos utilizadores com pouca pratica no manuseamento de computadores. Recursos como clipboard integrada e drag drop deixaram de ser um sonho, e passaram a ser
realidade do dia a dia de todos.
De seguida apresentamos uma analise dos mais populares ambientes gracos para Linux.
1.4.1 KDE
O KDE e um representante da nova gerac~ao de ambientes gracos para Unix, que combina
facilidade de uso, funcionalidade capaz de rivalizar com qualquer ambiente contempor^aneo
e fenomenal design graco. N~ao se limita a ser "apenas"um Window Manager, o KDE e
um ambiente graco completo, capaz de acrescentar funcionalidades antes inimaginaveis
no mundo dos Free Unix, tais como drag drop integrado, gestor de cheiros integrado, e
uma serie de acessorios (como por exemplo a calculadora, o bloco de notas e o marcador
de acesso telefonico PPP) que rivalizam com os disponveis em ambientes comerciais como
por exemplo os da Microsoft.
O KDE foi construdo sem se basear no codigo fonte de outros sistemas, embora a sua
apar^encia e funcionalidade sejam muito semelhantes as do CDE. E embora o KDE inclua
um gestor de janelas, gestor de cheiros, barra de tarefas, painel de controle, help online e
tudo o mais que se espera de um Window Manager moderno, a sua verdadeira forca esta
na interoperabilidade de todos os seus componentes.
Por oferecer uma interface t~ao elegante, intuitiva e familiar, marcada por facilidade de
uso semelhante a do Windows, o KDE 1.1.1 coloca o poder do Linux ao alcance dos seus
utilizadores menos tecnicos. Em reconhecimento ao seu potencial, o KDE recebeu da PC
Magazine o ttulo de "Inovac~ao do ano 1998/1999"na categoria Software.
A vers~ao 1.1.1 do KDE apresenta algumas vantagens adicionais, como a integrac~ao com o
Palm Pilot, maiores facilidades na ligac~ao com a Internet e maior estabilidade.
Ate recentemente, o Red Hat Linux n~ao distribua o KDE. Na vers~ao 6.0, entretanto,
esta poltica mudou, e agora virtualmente todas as distribuico~es comerciais de Linux incluem este ambiente graco. Algumas, como o SuSE e o Open Linux, chegam a coloca-lo
como ambiente padr~ao.
O KDE ja esta numa fase bastante avancada de internacionalizaca~o, e pode-se optar por
colocar todos os seus menus e cones em portugu^es.
21
1.4.2 Gnome
O GNOME e o ambiente graco que esta a ser desenvolvido pelo projecto GNU. O objectivo do Gnome e construir um desktop completo e amigavel baseado inteiramente em free
software. Este desktop consiste em utilitarios e aplicac~oes que compartilham apar^encia e
caractersticas consistentes.
Segundo a documentac~ao ocial, o Gnome e tudo o que se espera de um ambiente graco
moderno, e neste sentido ele compara-se ao CDE, KDE, Mac OS e Windows. Mas o que o
diferencia de todos estes outros ambientes e o facto de ser 100% free software, sem nenhum
componente proprietario.
Assim como no KDE, n~ao se ca preso a nenhum window manager. Por exemplo, no Red
Hat 6.0 - que tem o Gnome como ambiente graco default - o window manager associado
ao gnome e o Enlightenment.
O Gnome tambem tem suporte a drag and drop, cones na area de trabalho, barra
de tarefas totalmente conguravel, painel de aplicac~oes, e muito mais. A sua apar^encia
e bastante agradavel e 100% conguravel, inclusive atraves de temas. Ha uma serie de
aplicativos disponveis para o Gnome, e em geral n~ao se tem diculdades na instalac~ao
deles, ja que todos atendem a um mesmo padr~ao.
A equipa que mantem o Gnome e numerosa. Segundo Miguel de Icaza, coordenador do
22
mover mudancas no codigo-fonte. Esta equipa foi montada ao longo dos ultimos 20 meses
e ja ha mais 38 desde o lancamento do 1.0".
23
1.4.4 AfterStep
O AfterStep e um Window Manager construdo originalmente para emular no X Window a apar^encia e funcionalidade do NeXtStep, mas que posteriormente ganhou "vida
propria"gracas a popularidade que alcancou, pela sua qualidade visual e facilidade de uso.
Alem das caractersticas visuais diferenciadas, incluindo a possibilidade de preencher as
barras de ttulos das janelas com varias texturas, o AfterStep apresenta o Wharf, uma
barra de cones , e que da suporte a muitas aplicaco~es, incluindo a possibilidade criar menus de cones em cascata, e de executar aplicac~oes directamente num cone (possibilitando,
portanto, exibir a sada de aplicac~oes simples - como relogios, e-mail notiers, status de
modem - sem ter que criar uma janela especca).
24
Captulo 2
Instalac~ao do Red Hat Linux 7.1
Visto que a maioria dos comandos foram feitos no Red Hat Linux resolvemos optar por
explicar de um modo simples a instalaca~o desta distribuic~ao. Para isso recorremos ao
documento original "Red Hat Linux 7.1 Installation Guide".
26
27
Se a instalac~ao esta a ser feita num computador portatil, o tipo de rato e normalmente
PS/2.
Caso n~ao encontre um tipo de rato que seja de certeza compatvel com o seu sistema,
seleccione um dos Generic baseado no numero de bot~oes e interface. Se tiver um rato
28
suciente para podermos optar por esta opc~ao. Temos ent~ao duas soluc~oes: ou sairmos
da instalaca~o e libertar mais espaco no disco; ou ent~ao optar pelo particionamento manual.
Nesta ecra podemos escolher ou o particionamento automatico, ou os particionamentos
manuais usando o Disk Druid ou o Fdisk. Temos ainda a opc~ao de voltar atras e escolher
outro tipo de instalac~ao.
Se n~ao quisermos perder dados a melhor opca~o sera fazer o particionamento manual.
Nota: Uma instalaca~o Workstation, Custom ou Laptop usando particionamento automatico
29
ira remover todos os dados das partic~oes Linux existentes. Por outro lado, uma instalaca~o
Server ira remover todos os dados de todas as partic~oes de todas as drives.
30
A menos que se tenha outra ideia, recomendamos que se se criem as seguintes partico~es:
uma partic~ao swap (com pelo menos 32Mb, recomendamos 256Mb) - este tipo de
partic~oes servem para ajudar a memoria. Ou seja, quando n~ao existe memoria suciente para executar determinada operac~ao, os dados podem ser escritos para a
partic~ao swap e esta ser utilizada como memoria virtual.
uma partic~ao /boot (com no maximo 32Mb) - esta partic~ao contem o kernel do
sistema operativo (que permite que o Red Hat Linux arranque) e ainda os cheiros
utilizados durante o arranque.
uma partic~ao root (1,2 a 2,4 Gb) - esta partica~o e onde se encontra o "/" (directorio
do root). Nesta congurac~ao, todos os cheiros se encontram nesta partic~ao excepto
31
aqueles que est~ao na /boot. Com 1,2Gb podemos fazer uma instalaca~o workstation
apenas com alguns pacotes e com 2,4Gb temos hipotese de instalar todos os pacotes.
A secc~ao Drive Summaries so e mostrada como informaca~o ao utilizador sobre o seu disco
e sobre a forma como esta particionado.
Add - utilizado para adicionar uma nova partic~ao. Quando esta opc~ao e seleccionada
aparece uma caixa de dialogo com alguns campos que devem ser preenchidos (tais
como o ponto de montagem e o tamanho);
32
secc~ao Partitions. Ao escolher a opc~ao Edit, vai aparecer uma caixa de dialogo que
nos permite alterar alguns dos dados sobre a partica~o dependendo se estes ja foram
escritos ou n~ao no disco;
Reset - serve para recolocar o Disk Druid no seu estado inicial. Todas as alterac~oes
feitas s~ao perdidas;
Make RAID Device - serve para fornecer redund^ancia para uma ou para todas as
partic~oes do disco. So deve ser utilizado ser tivermos experi^encia com o RAID (Redundant Array of Independent Disks).
Nota: Deve haver pelo menos uma partic~ao dedicada para o Red Hat Linux, ou em opc~ao
varias.
As opc~oes da caixa de dialogo s~ao:
Partition Type - este campo contem diversas opc~oes tais como Linux Native ou
DOS. Escolha a que mais lhe convier;
Allowable Drives - este campo contem todos os tipos de drives que temos na
maquina.
Ok - clicamos aqui se ja zemos todas as modicaco~es que pretendamos e queremos
agora criar a partic~ao;
33
Se quiseremos alterar qualquer outro parametro da partic~ao so podemos faz^e-lo apagando-a
e criando-a novamente.
34
Se escolhermos instalar o LILO, temos de escolher o sitio onde e que ele vai ser instalado
no nosso sistema. Se ja tivermos outro sistema operativo, e aconselhavel escolher colocar
o LILO no MBR pois durante o processo de arranque temos hipotese de escolher qual dos
sistemas operativos e que queremos utilizar.
Se decidirmos n~ao instalar o LILO, temos de mais adiante fazer uma disquete de arranque
porque sen~ao caremos sem acesso ao Red Hat Linux.
Podemos ainda neste ecra de congurac~ao do LILO indicar algumas opc~oes, nomeadamente qual o sistema operativo que arrancara por defeito entre outras.
35
36
High - se escolhermos este nvel de seguranca, o nosso sistema n~ao ira aceitar qualquer
ligac~ao que n~ao seja explicitamente denida por nos.
Medium - neste caso, o rewall vai impedir que maquinas remotas acedam a alguns
dos recursos do nosso sistema.
No Firewall - esta opc~ao fornece total acesso ao nosso sistema e n~ao faz qualquer
tipo de vericac~ao de seguranca.
37
38
e avancarmos com a instalac~ao. No caso de queremos mais do que uma, isso ira re
ectir-se
no espaco ocupado pelo Red Hat Linux.
39
40
41
2.17.2 Depend^encias
Alguns dos pacotes de software, de modo a serem executados correctamente, depdendem
de outros pacotes que devem ser instalados. De modo a assegurar que o sistema tem
todos os pacotes que precisa, o Red Hat Linux verica todas as depend^encias dos pacotes
seleccionados que pretendemos instalar ou desinstalar. O ecra Unresolved Dependencies
so ira aparecer no caso de faltarem alguns pacotes necessarios para a execuc~ao de outros
que foram seleccionados para instalar. No fundo do ecra encontramos 3 opco~es. Em caso
de duvida escolhe-se Install packages to satisfy dependencies e o proprio programa
resolve todas as depend^encias.
42
43
memoria respectiva.
44
45
46
Se n~ao instalamos o LILO temos de introduzir a disquete de arranque. Depois do computador arrancar vai aparecer qualquer coisa como
LILO boot:
linux
windows98
Carregar em Enter - arranca o sistema operativo que tiver sido denido como default;
Escolher uma das opco~es seguido de Enter - faz o LILO arrancar com o sistema
operativo escolhido que esta representado pelo label;
N~ao fazer nada - o LILO depois de um certo tempo arranca para o sistema operativo
denido como default.
Aparece-nos ent~ao se tivermos denido um modo graco, um ecra de login em modo graco.
Captulo 3
Estrutura dos directorios do Linux
Este captulo descreve a import^ancia dos componentes padr~ao da arvore de directorios do
Linux, a qual tem por base o Sistema de Ficheiros Padr~ao do Linux 1 . Ao mesmo tempo
e descrita a forma habitual de dividir a arvore de directorios em diferentes sistemas de
cheiros com diferentes nalidades, e atribuindo uma justicac~ao para a adopca~o de cada
divis~ao. S~ao descritas ainda algumas opc~oes alternativas.
O padr~ao preconizado pelo FSSTND, tem por func~ao facilitar o desenvolvimento para
o Linux, bem como a administrac~ao de maquinas Linux, na medida em que tudo esta localizado em lugares especcos.
N~ao existe a obrigatoriedade da adopc~ao deste padr~ao, nem nada que obrigue quem quer
que seja a utiliza-lo, alem do bom senso, uma vez que ele tem o apoio da maioria, sen~ao
da totalidade, das distribuic~oes do Linux.
No entanto, n~ao e aconselhavel alterar o padr~ao da arvore de directorios, a menos que
existam raz~oes que sejam muito fortes para serem realizadas essas alterac~oes.
O FSSTND, tenta manter os padr~oes antigos do Unix, conciliando-os com as novas solicitac~oes, fazendo com o que o Linux que mais familiar para aqueles com alguma experi^encia noutros Unix e vice-versa.
Este captulo, n~ao e t~ao detalhado como o FSSTND. Qualquer administrador de sistemas, deveria ler cada especicac~ao para que o entendimento seja completo. Tambem foi
nossa opc~ao, n~ao descrever a totalidade dos cheiros com o maximo detalhe. A intenca~o,
e apresentar uma vis~ao geral, sob um determinado ponto de vista do sistema de cheiros.
Mais informac~oes sobre cada cheiro, podem ser encontradas nas paginas de manual on-line
do Linux presentes na maquina.
1 Linux
48
A arvore de directorios deve ser dividida em partes mais pequenas, cada uma com o seu
proprio disco ou partic~ao, facilitando dessa forma quest~oes como os limites do tamanho
de disco ou a criac~ao de copias de seguranca. Os sistemas de cheiros maiores s~ao a raiz
(root), /usr, /var e /home (ver a gura 3.1). Cada parte tem uma nalidade diferente.
num disco local, apesar de poder estar presente num disco em memoria ou numa unidade de rede). Contem os cheiros necessarios para o boot do sistema e para permitir
o acesso aos restantes sistemas de cheiros. O conteudo da raiz deve ser o suciente
ainda para que o sistema possa ser executado em modo mono-utilizador. Contem as
ferramentas para a resoluc~ao de possveis problemas e para a recuperaca~o de cheiros
a partir das copias de seguranca.
49
ser montado com permiss~ao exclusivamente de leitura, para diminuir a hipotese da
corrupc~ao de cheiros durante um eventual acidente.
Apesar das diferentes partes ja descritas serem chamadas de sistemas de cheiros, n~ao ha
a obrigatoriedade de estas estarem assim separadas. Podem estar facilmente no mesmo
sistema, numa pequena maquina utilizada por um unico utilizador que deseje mant^e-las de
uma forma mais simplicada.
A arvore de directorios pode estar dividida ainda em diferentes sistemas de cheiros, dependendo do tamanho de cada disco e da quantidade de espaco que for reservado para cada
nalidade. O importante a reter e que os nomes padr~oes devem ser mantidos e devem ser
utilizados de forma correcta.
A estrutura dos sistemas de cheiros Unix, prev^e um agrupamento de acordo com a nalidade. Ou seja, os comandos est~ao todos numa determinada area, todos os cheiros de
dados noutra, a documentac~ao numa terceira, e assim por diante. Uma alternativa seria
agrupar os cheiros de acordo com os programas a que eles pertencam, isto e, os cheiros
do Emacs estariam todos num unico directorio, todos os cheiros de TeX noutro, e assim
por diante.
O problema desta abordagem, reside no compartilhar de cheiros (um cheiro de programas contem todos os tipos de cheiros: estaticos, din^amicos, compartilhados e n~ao
compartilhados,...) e algumas vezes em encontrar alguns desse cheiros (por exemplo uma
man page a ser pesquisada num grande numero de directorios).
50
Comandos necessarios durante o boot do sistema (inicializaca~o) que podem ser utilizados pelos utilizadores (provavelmente apos a activac~ao do sistema).
/sbin
Id^enticos ao /bin, no entanto os comandos n~ao s~ao destinados aos utilizadores comuns,
apesar de poderem ser utilizados por estes se tal for necessario.
/etc
51
raiz.
/lib/modules
Modulos din^amicos e que s~ao carregados pelo kernel, especialmente aqueles necessarios
ao arranque do sistema em caso de acidente (por exemplo, programas de controlo de sistemas de cheiros de rede ).
/dev
Ficheiros temporarios. Programas que s~ao executados apos a activaca~o do sistema, devem usar o /var/tmp e n~ao o /tmp, na medida em que muito provavelmente v~ao encontrar
mais espaco disponvel naquele sistema de cheiros.
/boot
52
A base de dados dos utilizadores, cujos campos denem nome do utilizador, nome real,
directorio pessoal, password cifrada e outras informaco~es especcas de cada utilizador. O
formato esta documentado na pagina man passwd.
/etc/fdprm
A tabela de par^ametros de disquetes. Descreve os formatos diferentes disponveis. E
utilizada pelo programa setfdprm. Para maiores informac~oes veja a pagina man setfdprm.
/etc/fstab
Networking Administrators Guide, Olaf Kirch, O' Reilly & Associates, January 1995
53
O cheiro de congurac~ao para o comando le. Contem as descrico~es de varios formatos
de cheiros. Veja as paginas man magic e le para maiores informaco~es.
/etc/motd
Listagem dos sistemas de cheiros montados. Inicialmente congurado por programas
de batch e posteriormente actualizado pelo comando mount. Usado quando uma lista de
54
Similar ao /etc/termcap, mas direccionado para as impressoras e com uma sintaxe diferente.
etc/prole, /etc/csh.login, /etc/csh.cshrc
Identica quais os terminais seguros, ou seja, aqueles nos quais e permitido que o administrador da maquina tenha acesso ao sistema. Normalmente so as consolas virtuais s~ao
apresentadas, sendo muito difcil obter os privilegios de administrador do sistema atraves
da rede ou de uma ligac~ao via modem.
/etc/shells
no ponto 4.1 na p
agina 63
55
de transfer^encia de cheiros numa maquina, ira vericar se o ambiente do utilizador esta
listado em /etc/shells e n~ao aceitara acessos que n~ao se encontrem la presentes.
/etc/termcap
56
/usr/X11R6
Ficheiros header para a linguagem de programac~ao C. Este directorio deveria estar sob
/usr/lib, no entanto por tradic~ao tem sido suportado neste formato.
/usr/lib
57
Uma cache para paginas de manual que s~ao formatadas sempre que solicitadas. Os
fontes para as paginas s~ao armazenados em /usr/man/man, sendo que algumas paginas
podem vir pre-formatadas, estando armazenadas em /usr/man/cat*. Outras paginas necessitam ser formatadas quando acedidas, sendo que a vers~ao nal ca armazenada em
/var/man fazendo com que outro utilizador caso necessite de uma vers~ao formatada, tenha esta pronta e disponvel. O directorio /var/catman e frequentemente esvaziado, da
mesma forma que os cheiros temporarios.
/var/lib
Dados variaveis para os programas que estejam instalados em /usr/local, por exemplo
programas que foram instalados pelo administrador do sistema. Note que, mesmo quando
instalados localmente, estes programas podem usar ainda outros directorios /var, como
por exemplo /var/lock.
58
/var/lock
Ficheiros que cont^em informaco~es sobre o sistema e que s~ao validas ate a proxima
inicializac~ao. Por exemplo, /var/run/utmp contem as informaco~es sobre os utilizadores
actualmente ligados.
/var/spool
Ficheiros temporarios que sejam muito grandes ou que necessitem existir por um perodo
maior que o denido para /tmp. Note-se que o administrador do sistema pode n~ao permitir
cheiros muitos antigos tambem em /var/tmp.
59
60
/proc/ioports
Apresenta quais as portas de entrada e sada que est~ao em uso num determinado momento.
/proc/kcore
Informac~oes sobre o uso de memoria. Tanto fsica como da memoria virtual de troca
(swap).
/proc/modules
61
/proc/net
Uma ligac~ao simbolica para o directorio de processos (/proc). Quando dois processos
acedem /proc podem utilizar diferentes ligac~oes, o que e conveniente para programas que
utilizem este directorio como o seu directorio de processos.
/proc/stat
Diversas estatsticas sobre o sistema, como o numero de paginac~oes desde o seu incio,
I/O, processos executados, etc...
/proc/uptime
Captulo 4
Conceitos basicos
Neste captulo iremos abordar o modo texto do Linux, que e composto basicamente da
shell e dos aplicativos que executam sobre ela, os principais comandos, como congurar o
X e a impressora e nalmente como criar utilizadores.
4.1 A Shell
Mas anal o que e uma shell? E um interpretador de comandos que analisa o texto introduzido na linha de comandos e executa esses comandos produzindo algum resultado.
Existem varios shells mas de entre todos podemos destacar 4 que s~ao sem duvida os mais
utilizados:
64
C Shell (csh)
65
Normalmente, num cheiro em Linux (por exemplo, cheiros de congurac~ao), uma linha com o caracter '#' no nicio e um comentario.
Muda para o primeiro terminal de texto. Em Linux podemos ter varios terminais abertos ao mesmo tempo, como foi referido anteriormente.
'Ctrl' + 'Alt' + 'Fn'
Muda para o primeiro terminal GUI (se houver algum a correr nesse momento).
66
(m=7..12). Muda para o m-esimo terminal GUI (se houver um terminal GUI a correr
na sess~ao m-1).
'Tab'
Visualiza as janelas anteriores do terminal. Trabalha inclusivamente na prompt de login, para podermos visualizar as mensagens de bootup.
'Shift' + 'PgDown'
(em X-window). Muda para a proxima resoluc~ao de X-server (se tivermos congurado
o X-server para mais do que uma resoluca~o).
'Ctrl' + 'Alt' + '-'
67
(em X-window). Mata (kill ) o servidor X-window actual. Usa-se quando o X-window
bloqueia e n~ao podemos sair normalmente.
'Ctrl' + 'Alt' + 'Del'
Retoma a transfer^encia para o terminal. Tentar este atalho quando o terminal deixar
de responder misteriosamente...
68
'Ctrl' + 'z'
Restaura um terminal estragado (com caracteres esquisitos) para as denic~oes de defeito. Usa-se, por exemplo, quando se executa o comando cat num cheiro binario. Podemos n~ao ver o comando enquanto o escrevemos.
Bot~ao do Meio do Rato
Cola (paste ) o texto seleccionado noutro stio qualquer. Esta e a operac~ao copy-paste
normal em Linux (n~ao funciona no Netscape ou no WordPerfect, porque estes programas
usam o copy-paste tpico do Ms-Windows. Perfeito quando usado com um rato Linuxcompatvel de 3 bot~oes (Logitech ou algo no genero).
(til). Muda para a home directory. Por exemplo, cd /minha dir muda para o directorio
minha dir situada abaixo da nossa home directory. Escrever apenas cd e o equivalente ao
comando cd .
.
(ponto). Directoria actual. Por exemplo, ./meu programa executa o comando meu programa
situado no directorio corrente.
..
69
Exibe o user id (uid), o group id (gid), id efectivo (se for diferente do uid) e todos os
grupos suplementares relacionados com o utilizador especicado na variavel username.
date
Exibe ou modica a data e hora do sistema. Por exemplo, para mudar a data e hora
para 2000-12-31 23:57, usa-se o comando date com esta forma: date 123123572000 Para
modicar o relogio de hardware (hardware clock) a partir do relogio do sistema, usa-se o
comando setclock.
time
Exibe uma lista com os utilizadores que est~ao \logados" (logged in) a maquina.
70
rwho -a
Exibe uma lista com todos os utilizadores que est~ao ligados a nossa rede. O servico
rwho deve estar a correr de modo a este comando poder funcionar. Se n~ao estiver, corre-se
o comando setup como root para ligar o servico rwho.
nger username
Exibe uma lista com os ultimos utilizadores que se ligaram (logged in) ao sistema. Se
usarmos o comando last em conjunto com less, podemos navegar nessa lista: last | less.
Se, por outro lado, usarmos o comando desta forma: last -n, obtemos uma lista com os
ultimos n logins ao sistema.
uptime
(= print status). Lista os processos que est~ao a correr neste momento pelo utilizador
corrente.
ps aux j more ou ps aux j less
Lista todos os processos que est~ao a correr na maquina neste momento, inclusivamente
aqueles que n~ao t^em controlo no terminal, juntamente com a informac~ao sobre o utilizador
que iniciou cada um deles.
71
Lista todos os processos chamados exemplo. O comando grep ltra o resultado do comando ps aux (atraves da pipe '|'), aparecendo so as linhas que cont^em o texto exemplo.
top
Exibe uma lista com os processos que est~ao a correr na maquina neste momento, ordenados decrescentemente por tempo de CPU gasto.
uname -a
(= disk free). Exibe informaca~o sobre os discos de todos os sistemas de cheiros (lesystems), numa linguagem entendida pelos humanos...
du / -bh j more
(= disk usage). Exibe uma lista detalhada do uso do disco para cada subdirectoria,
comecando pelo directorio /, em linguagem legvel.
cat /proc/cpuinfo
Informac~ao sobre o CPU. Note-se que os cheiros no directorio /proc n~ao o s~ao na
realidade. Tratam-se somente de ganchos (hooks ) para visualizar informac~ao disponvel no
72
kernel.
cat /proc/interrupts
Exibe uma lista com os sistemas de cheiros (lesystems ) em uso neste momento.
cat /etc/printcap
(como root). Exibe uma lista com os modulos de kernel carregados neste momento.
set j more
Exibe o conteudo da variavel de ambiente PATH. Este comando tambem pode ser usado
para visualizar outras variaveis de ambiente. Use o set para ver todo o ambiente.
dmesg
73
Exibe uma ajuda simples ao comando (aplica-se a maior parte dos comandos Linux). {
help e semelhante ao switch /h do DOS. As pipes more e less usam-se quando a informac~ao
ocupa mais do que um ecr~a, sendo que a opc~ao more permite ver pagina a pagina, sem no
entanto podermos voltar atras, e a opc~ao less, permite-nos navegar linha a linha, para a
frente e para tras.
ls
Exibe o conteudo do directorio corrente. Em Linux, o comando dir e um alias do comando ls. Muitos utilizadores utilizam o comando ls como um alias do comando ls {color.
ls -al j more
(= change directory). Muda para uma determinado directorio. Usar so o comando cd
signica mudarmos directamente para a nossa home directory. O comando cd - leva-nos
para o directorio anterior a corrente e e um modo conveniente de navegaca~o entre duas
directorias.
cp fonte destino
74
Move ou altera o nome de cheiros. O mesmo comando e usado para mover ou alterar
nomes de directorias ou cheiros.
ln fonte destino
Cria um hard link chamado destino que aponta para o cheiro chamado fonte. O link
aparenta ser uma copia do cheiro original, mas na realidade, apenas uma copia do cheiro
e mantida, sendo que existem duas (ou mais) entradas para o cheiro no directorio. Qualquer alterac~ao ao cheiro fonte e imediatamente visvel no destino. Quando uma entrada
no directorio e removida, as outras mant^em-se. Limitac~oes dos hard links: os cheiros
t^em de estar obrigatoriamente no mesmo lesystem. E impossvel criar hard links para
directorios ou cheiros especiais.
ln -s fonte destino
Cria um link simbolico (symbolic link) chamado destino a apontar para o cheiro fonte.
O link simbolico apenas especica o caminho (path) para o cheiro fonte. Ao contrario dos
hard links, a fonte e o destino n~ao precisam de pertencer ao mesmo lesystem. Limitac~oes
dos symbolic links: Se o cheiro original for removido, o link parte-se (broken link). Os
symbolic links podem tambem criar refer^encias circulares (como as de bases de dados e
folhas de calculo).
rm cheiro
75
rm -r cheiros
(recursive remove). Remove cheiros, directorias e sub-directorias. Semelhante ao comando DOS deltree. Cuidado ao usar este comando como root: podemos apagar todo o
nosso sistema, se usarmos este comando no directorio /, e n~ao existe (ainda) um comando
undelete em Linux.
cat cheiro j more ou cat cheiro j less
Exibe o conteudo de um cheiro de texto chamado cheiro. Para cheiros demasiadamente longos, e conveniente usar os comandos head e tail , que exibem o princpio e o m
do cheiro em quest~ao. Se, por engano, tentarmos visualizar o conteudo de um cheiro
binario, e so aparecerem caracteres esquisitos, usa-se o comando reset para voltar ao normal.
less cheiro
para
Edita um cheiro chamado cheiro, desactivando a opca~o long line wrap. Util
editar cheiros de conguraca~o, por exemplo, o cheiro /etc/fstab.
lynx cheiro.html
76
Descompacta um cheiro zipado (*.gz ou *.z). Usa-se o gzip (ou o zip ou compress)
para compactar os cheiros.
bunzip2 cheiro.bz2
Procura o cheiro que contem o texto cheiro. Mais facil de usar e mais rapido que o
3 *.tar.gz
4 *.tar
77
comando nd.
pine
Um bom cliente de mail em modo texto. Outro cliente de mail excelente e o elm. Permite ler as mensagens enviadas, por exemplo, por um processo cron.
talk username1
Fala com outro utilizador ligado neste momento a nossa maquina (ou noutra maquina
atraves do comando talk username1@outramaquina ). Para o outro utilizador aceitar o convite, necessita digitar o comando talk username2. Para evitar que tentem falar connosco,
usa-se o comando mesg n para recusar os pedidos. Pode ser util o uso dos comandos who
e rwho para ver quem esta ligado ao sistema.
mc
(= remote login). Conecta-se a outra maquina. O login name da sess~ao corrente e usado
para entrar na maquina remota. Se se pretender entrar num outro username, adicona-se a
opc~ao -l username.
rsh servidor
(= remote shell). Uma outra maneira de nos ligarmos a uma maquina remota. Tal
como o comando rlogin, e usado o login name da sess~ao corrente, a menos que se use a
78
opc~ao -l.
ftp servidor
Acede a outra maquina via protocolo FTP. O FTP e bom para copiar cheiros para/de
um servidor. Deve-se tentar o utilizador anonymous (quando n~ao temos conta aberta no
sistema remoto). Os comandos principais s~ao: ls (exibir o conteudo do directorio corrente
do sistema remoto), ascii, binary (para mudar o modo de transfer^encia de cheiros para
texto ou binario), get (copia um cheiro do sistema remoto para o sistema local), mget
(copia varios cheiros ao mesmo tempo, do sistema remoto para o sistema local), put (copia um cheiro do sistema local para o sistema remoto), mput (copia varios cheiros, do
sistema local para o sistema remoto), bye (desconecta-se do sistema remoto).
minicom
:1
Inicia outra sess~ao de X-windows no ecr~a 1 (por defeito, inicia no ecr~a 0). Podemos
ter varios terminais GUI a correr concorrentemente. Salta-se entre eles com as teclas
79
(no terminal X). Corre um terminal X-window simples. Use o comando exit para sair.
xboing
(no terminal X). Jogo para correr no ambiente X. Provavelmente, muitos jogos e programas parecidos est~ao instalados na nossa maquina.
gimp
(no terminal X). Editor de imagens poderoso. Demora algum tempo a aprender, mas
e excelente para artistas. Use o bot~ao do rato do lado direito para obter menus.
netscape
(no terminal X). Corre o browser Netscape (necessita de ser instalado antes).
netscape -display host:0.0
(no terminal X). Corre uma sess~ao de Netscape na maquina remota host na sess~ao 0
ecr~a 0. A nossa maquina deve ter permiss~ao para executar o netscape na maquina remota (podemos obter permiss~ao correndo o comando xhost maquina local no terminal X
da maquina remota).
shutdown -h now
80
halt ou reboot
(como root). Usado para desligar o sistema e n~ao reinicializar (halt) ou para fazer
um reboot ao sistema (reboot). Mais facil de usar (e decorar) do que os dois comandos
anteriores.
man topico
Exibe o conteudo das paginas do manual do sistema sobre o assunto topico. Tente
usar o comando man man primeiro. Carregue na tecla q para cancelar a visualizac~ao.
O comando info topic funciona aproximadamente como o comando man e pode conter
informac~ao mais actualizada. As paginas do manual podem ser de dicil leitura. Use o
comando topic {help para paginas de ajuda mais curtas e faceis de ler. Se necessitar de
mais ajuda, consulte o directorio /usr/doc.
apropos topico
Exibe uma lista de comandos que tenham alguma relaca~o com o topico.
(= print status). Exibe uma lista com os processos activos no sistema com os respectivos identicadores - PID (Process ID). Use ps -aux para exibir uma lista semelhante mas
com mais informac~ao - todos os processos e respectivos utilizadores. Use top para manter
a listagem visvel e online.
fg PID
81
kill PID
Forca o nal do processo. Para saber qual o PID do processo que queremos matar,
usa-se o comando ps.
killall nome programa
Usado num terminal x. Mata um processo GUI com o rato - aponte o cursor do rato a
janela com o processo que queremos matar e clique.
lpc
Corre o nome programa ajustando a sua prioridade. Como a prioridade n~ao e especicada neste exemplo, ela e ajustada com o valor 10 (o processo vai correr mais lentamente)
a partir do valor de defeito (usualmente o 0 - zero). Quanto mais baixo for o numero,
mais alta e a prioridade. Este numero pode variar entre -20 e 19, sendo que so o utilizador
root pode denir prioridades com valores negativos. Use o comando top para exibir as
82
(como root). Muda a prioridade de um processo activo para -1. Utilizadores normais
so podem mudar valores de prioridade para os seus processos, e so para valores superiores
ao actual (tornando-os mais lentos).
(como root num terminal X). Ferramenta de congurac~ao de impressoras. As congurac~oes cam no cheiro /etc/printcap.
setup
(como root). Congura o rato, placa de som, teclado, X-windows e servicos de sistema.
alias ls="ls {color"
Cria um alias para o comando ls. Ponha o alias no cheiro /etc/bashrc se quiser que
esteja sempre disponvel para todos os utilizadores. O comando alias da-nos uma lista com
todos os aliases do nosso sistema.
adduser utilizador
(como root). Cria uma nova conta. Por exemplo, adduser barbara. N~ao esquecer de
denir uma password para o utilizador como passo seguinte. O home-directory do utilizador passa a ser /home/utilizador. Ira estar associado a cada utilizador um identicador UID (User ID).
useradd utilizador
83
userdel utilizador
(como root). Remove uma conta do sistema, n~ao apagando no entanto, o home-directory
e o mail n~ao entregue.
groupadd grupo
Cria um novo grupo de utilizadores do sistema. A este grupo, tal como a qualquer
utilizador, ira estar associado um identicador - GID (Group ID).
passwd
Muda a password na conta actual. O utilizador root pode alterar a password de qualquer utilizador, usando o comando passwd utilizador.
chmod perm cheiro
(= change mode). Muda as permiss~oes de acesso a um cheiro e/ou directoria do utilizador actual (o root pode mudar permiss~oes de qualquer cheiro no sistema). Ha tr^es
tipos de acesso: leitura (read - r ), escrita (write - w ) ou execuc~ao (execute - x ) para tr^es
classes de utilizadores: dono (u), membros do grupo do dono (g), outros utilizadores no
sistema (o). Podemos ver quais as permiss~oes de determinado cheiro usando o comando
ls -l cheiro.
chown novo dono cheiro ou chgrp novo grupo cheiro
Muda o dono (chown = change owner ) ou grupo (chgrp = change group ) a que pertence
determinado cheiro. Deve-se usar estes dois comandos sempre que copiamos um cheiro
para ser usado por outra pessoa.
su
84
(= Red Hat Package Manager, como root). Instala o conteudo de um pacote rpm da
Red Hat e mostra informac~ao sobre o que foi feito.
rpm -qpi cheiro.rpm
L^e a informac~ao sobre o conteudo de um pacote rpm que ainda n~ao tenha sido instalado
no sistema.
rpm -Uvh cheiro.rpm
(num terminal X, como root). Frontend GUI para instalar pacotes rpm em ambiente
X-window.
kernelcfg
(como root num terminal X). Programa GUI para acrescentar/remover modulos de kernel. Pode-se fazer o mesmo da linha de comandos usando o comando insmod.
lsmod
85
(como root). Insere modulos no kernel (um modulo e (mais ou menos) o equivalente aos
device drivers de DOS). Este exemplo demonstra como inserir os modulos para suportar
uma zip drive externa via porta paralela.
rmmod nome modulo
(como root). Dene uma porta serie com valores n~ao standard. O exemplo mostra
o valor standard para a primeiro porta serie (cua0 ou ttyS0). Os valores standard para
a segunda porta serie (cua1 ou ttyS1) s~ao: port 0x02f8 irq 3. A terceira porta serie:
port 0x03e8 irq 4. A quarta porta serie: 0x02e8 irq 3. Acrescente os valores no cheiro
/etc/rc.d/rc.local se quiser deni-los no boot. Veja man setserial para mais informaco~es.
fdisk
(como root). Utilitario para criar partic~oes de disco duro do Linux (o DOS tem um
utilitario com o mesmo nome para a mesma func~ao, embora este so deixe criar partic~oes
para DOS).
depmod -a
(como root). Constroi a tabela de depend^encias dos modulos de kernel. Pode ser util,
por exemplo, depois de instalar um novo kernel. Use modprobe ou insmod para carregar
os modulos.
ldcong
86
touch cheiro
(=
oppy disk format, como root - dois comandos). Executa uma formatac~ao em baixo
nvel de uma disquete no primeiro drive de disquetes do sistema (/dev/fd0 ) de alta densidade (1440 KB). Depois cria um sistema de cheiros Linux (-t ext2 ), vericando/marcando
os blocos defeituosos (-c). Criar o sistema de cheiros e o equivalente a uma formatac~ao
de alto nvel.
(como root). Verica se uma disquete de alta densidade tem blocos defeituosos e exibe
os resultados no ecr~a. O par^ametro 1440 diz ao sistema para vericar 1440 blocos na disquete. Este comando n~ao modica a disquete.
(= le system check, como root). Verica e repara um sistema de cheiros. O exemplo usa a partic~ao hda2 e o tipo ext2 de sistema de cheiros. Importante: n~ao se deve
vericar/reparar um sistema de cheiros que esteja montado. Deve-se sempre desmontar
previamente o sistema de cheiros a ser vericado antes de se iniciar esta operac~ao.
dd if = /dev/fd0H1440 of =
oppy image ou dd if =
oppy image of = /dev/fd0H1440
(dois comandos). Cria uma imagem da disquete para um cheiro chamado
oppy image
no directorio corrente. Depois copia essa imagem para outra disquete. Tem a mesma func~ao
do comandos diskcopy do DOS.
87
(como root). Monta o drive de disquetes. o directorio /mnt/
oppy tem de existir, estar
vazia e n~ao ser o directorio corrente.
mount -t auto /dev/cdrom /mnt/cdrom
(como root). Monta o leitor de CDs. Pode ser necessario criar/alterar o cheiro
/dev/cdrom dependendo da localizac~ao do leitor. o directorio /mnt/cdrom tem de existir,
estar vazia e n~ao ser o directorio corrente.
mount /mnt/
oppy
Monta um leitor de CDs como um utilizador normal. O cheiro /etc/fstab tem de estar
preparado para aceitar este comando. o directorio /mnt/cdrom n~ao pode ser o directorio
corrente.
umount /mnt/
oppy
Desmonta (unmount ) o drive de disquetes. o directorio /mnt/
oppy n~ao pode ser o
directorio corrente.
(como root). Um utilitario baseado em menus para a gest~ao (setup) da nossa rede.
Usado na distribuic~ao Red Hat.
88
linuxconf
(como root). Utilitario de congurac~ao do nosso sistema linux. Usado na distribuic~ao
Red Hat.
setup ou netcong
(como root). Ferramentas com a mesma func~ao das duas mencionadas acima, mas estas
s~ao usadas na distribuica~o Slackware de linux.
ping maquina
Verica a ligac~ao a outra maquina, podendo a variavel maquina ser o nome da maquina
ou o endereco IP. Para terminar, use o 'Ctrl'+'c'.
route -n
Congura a poltica de reencaminhamentos de IPs da rewall para passar a fazer masquerading. N~ao e muito seguro mas e simples. A partir da vers~ao 2.2 do linux, deve-se
usar o ipchains, sendo necessario ter o kernel congurado para suportar IP rewalls e que
o routing de IP esteja activado.
ifcong
(como root). Exibe informac~ao sobre os interfaces de rede correntemente activos (ethernet, ppp, etc). A primeira interface ethernet deve ser a eth0, a segunda a eth1, etc. A
primeira interface ppp (modems) e a ppp0, a segunda a ppp1, etc. A interface lo e a
loopback only com o endereco 127.0.0.1 que deve estar sempre activa. Usa a opc~ao ifcong
4.3. Instalar o X
89
Acciona uma interface de rede. Exemplo: ifup eth0 ou ifup ppp0. Utilizadores normais
so podem accionar ou desactivar uma interface de rede se tiverem permiss~oes para isso e
so as interfaces ppp (use o comando netconf ).
ifdown interface
4.3 Instalar o X
Antes de comecar a congurar o X e necessario recolher todas as informac~oes sobre a placa
graca, do monitor e do rato. Depois de termos estas informaco~es vamos ao directorio onde
esta instalado o ambiente X Window. Normalmente, ca em /usr/x11r6/bin. Executa-se
o comando
xf86config
90
Procure no seu manual do monitor a frequ^encia que se melhor adapta ao seu monitor
ou introduza 11 para denir a frequ^encia vertical e horizontal.
1
2
3
4
5
50-70
50-90
50-100
40-150
Enter your own vertical sync range
4.3. Instalar o X
91
9. 1 - The XF86 Mono server. This a monochrome server that should work
Pode optar por uma destas opco~es pre-denidas, ou se quiser car com toda a sua
congurac~ao feita anteriormente introduza 5
10. Do you want me to set the symbolic link?
Introduza yes para denir os links simbolicos ao cheiro de congurac~ao XF tipo de acelerador
para o seu startx.
11. How much video memory do you have on your video card:
1
2
3
4
5
6
256K
512K
1024K
2048K
4096K
Other
92
You can simply press enter here if you have a generic card, or want to
describe your card with one string.
Enter the vendor name of your video card:
Enter the model (board) name of your video card:
Carregue em enter
E pronto, a conguraca~o do X Window esta concluda. Agora para comecar a utilizar o
ambiente x basta executar o comando
startx
93
Isso ira denir ou alterar a senha duck. Se executar o comando passwd como root,
n~ao sera pedida a password original. Assim, se perdemos ou nos esquecemos da antiga
password, poderemos ligarmos como root, para redeni-la.
94
3. Para criar uma impressora com o nome de impressora. Abra com qualquer editor de
texto o cheiro /etc/printcap
4. Escreva o seguinte:
impressora:\
:sd=/var/spool/lpd/impressora:\
:mx#0:\
:lp=/dev/lp*:
5. Depois desta operac~ao basta gravar, sair do editor de texto e criar o directorio
/var/spool/lpd/impressora com o comando mkdir /var/spool/lpd/impressora
6. Muda-se o grupo e a permiss~ao do directorio criado, atraves dos comandos
chgrp lp /var/spool/lpd/impressora
chmod 755 /var/spool/lpd/impressora
Captulo 5
Kernel
Com a introduc~ao do kernel(nucleo do sistema) modularizado no Linux 2.0.x surgiram
importantes mudancas na construc~ao de kernels personalizados. Antes era necessario compilar o kernel caso se desejasse aceder a determinado hardware ou sistema de cheiros em
particular.
Para alguns hardwares o tamanho do kernel poderia atingir um certo nvel de criticidade.
O suporte ja embutido no kernel poderia ser uma soluc~ao ineciente sob o ponto de vista
de utilizac~ao de recursos do sistema.
Com as facilidades disponibilizadas no kernel 2.0.x, caso haja algum componente de hardware ou do sistema de cheiros pouco usado, os drivers e modulos s~ao carregados somente
quando necessarios, melhorando a performance e optimizando a utilizac~ao de recursos do
sistema.
96
Captulo 5. Kernel
Instalam-se os novos modulos (mesmo que n~ao tenha sido construdo nenhum) atraves do
comando make modulos install.
Se o sistema possuir um driver modular para adaptador SCSI, constroi-se uma nova image
do initrd. Porem ha poucas raz~oes para se construir um driver de kernel modular para
adaptadores SCSI.
97
Para ter disponvel o kernel anterior a m de evitar problemas, caso o novo kernel tenha
algum tipo de erro, e recomendavel manter a congurac~ao original. Adicionar um novo
kernel ao LILO e muito simples. Basta seguir as seguintes operaco~es:
1. mv /boot/vmlinuz /boot/vmlinuz.old
2. cp /usr/src/linux/arch/i386/boot/zImage /boot/vmlinuz
3. editar /etc/lilo.conf
4. executar /sbin/lilo
A BIOS vai ent~ao a procura da unidade de disco de inicializac~ao, regra geral uma
98
Captulo 5. Kernel
o suciente para se poder encaixar a. Assim, para um sistema MS-DOS, o processo
de inicializac~ao e nalizado. Outros sistemas v~ao ter a um programa que carrega o
kernel do sistema operativo e o inicializa, tal como o LILO que carrega o kernel do
Linux, descompacta-o e, depois, o inicializa. A memoria que a rotina de inicializac~ao
usa e ent~ao, regra geral, reclamada pelo sistema operativo que foi inicializado.
As opc~oes do LILO s~ao denidas e conguradas enquanto o Linux esta em execuc~ao,
o que signica que se o LILO n~ao inicializa o Linux, o utilizador deve usar os seus
discos de inicializac~ao de emerg^encia para aceder ao disco rgido do sistema e, depois,
congurar e instalar (executando o /sbin/lilo) o LILO. Talvez o utilizador tenha de
experimentar para determinar se o LILO funciona melhor no sector de inicializac~ao
principal do disco rgido ou no sector de inicializaca~o da sua partic~ao de inicializac~ao
99
100
Captulo 5. Kernel
other=/dev/hda1
read-only
label=dos
table=/dev/hda
Agora quando o sistema for inicializado, basta pressionar Tab e o prompt do LILO mostrara
duas opc~oes:
LILO boot:
linux
old
dos
Para testar o novo kernel basta reinicializar o equipamento e vericar as mensagens geradas
pelo sistema, assegurando-se de que o hardware foi detectado adequadamente.
Captulo 6
Servicos
6.1 Automount
O automount (mount automatico) e o processo onde a montagem (e desmontagem) de
certos sistemas de arquivos e feita automaticamente por um programa residente. Se o sistema de arquivos esta desmontado, e um utilizador tentar aceder, ele sera automaticamente
(re)montado. Isto e especialmente util em grandes ambientes de rede e para montagens de
sistemas de arquivos entre varias maquinas (especialmente aquelas que nem sempre est~ao
ligadas). Isto tambem pode ser muito util para dispositivos amovveis por motivos obvios.
102
Captulo 6. Servicos
6.1.2 Instalac~ao
Devido ao facto de o autofs ser implementado no espaco do kernel, o seu kernel deve ter
o suporte incorporado. Nos kernels 2.0.xx isto e uma opca~o experimental, mas parece ser
estavel. Nos 2.1.xx (e presupostamente nos 2.2.xx) n~ao e experimental.
O programa de montagem automatica e os seus arquivos de conguraca~o tambem s~ao
necessarios; usar os RPMs (da RedHat, como parte da instalaca~o) e um bom metodo.
O programa de montagem automatica deve ser inicializado por um guia rc no diretorio
/etc/rc.d/init.d. O RPM faz isto, mas deve-se ter a certeza que ele e inicializado, fazendo
uma ligac~ao do diretorio rc?.d, usando o painel de controle da Red Hat, ou conseguindo
fazer a inicializac~ao de algum modo noutra distribuica~o.
/etc/auto.misc
--timeout 60
A primeira entrada n~ao e o ponto de montagem, e sim onde os pontos de montagem (indicados na segunda entrada) car~ao. A terceira opc~ao diz que os sistemas de arquivos
montados podem-se tentar desmontar 60 segundos depois de usados. E claro que eles n~ao
se podem desmontar se estiverem a ser usados.
O auto.misc e um "arquivo mapa". Arquivos de mapas multiplos podem ser denidos
no auto.master. De seguida temos um exemplo do auto.misc :
kernel
cd
zip
floppy
-ro,soft,intr
-fstype=iso9660,ro
-fstype=auto
-fstype=vfat
ftp.kernel.org:/pub/linux
:/dev/cdrom
:/dev/hdd4
:/dev/fd0
A primeira coluna (a "chave") e o ponto de montagem. Neste caso sera /mnt/
oppy ou
outra coisa. No meio s~ao as opc~oes; deve ler-se a pagina do manual do mount para saber
mais detalhes a respeito destes par^ametros. E a ultima coluna especica de onde vem o
sistema de arquivos. A entrada do kernel supostamente deve ser uma montagem do NFS.
O ":"em todas as outras linhas signica que s~ao dispositivos locais.
103
6.2. NFS
Uma quest~ao que se pode colocar e: 60 segundos, e bastante tempo de espera pelo ejectar
de uma disquete... Antes de mais, pode-se mudar o tempo de espera. Porem isto pode
ser um pouco ineciente; dizer ao sistema para desmontar as coisas depois de 15 segundos
ou diferente. Actualmente ha uma maneira de perguntar pela desmontagem ao programa
de montagem automatica. Se se mandar (com o programa kill) o sinal SIGUSR1 para o
processo de montagem automatica, ele ira desmontar tudo o que puder.
O processo de montagem automatica e executado pelo admnistrador da maquina, e so
ira aceitar comandos seus. 50% do motivo pelo qual provavelmente se usa a montagem
automatica e o facto de poder fazer montagens e desmontagens sem se ser o administrador
da maquina. Seria facil fazer um programa em C com transic~ao para administrador da
maquina, que zesse isto. Todavia, usando o comando sudo e possvel permitir que utilizadores possam mandar o proprio sinal de kill. O unico problema e que o sudo n~ao nos
deixa usar "' "para processar subcomandos, o que se teria de fazer tendo em conta o PID
corrente. Deve-se ter um programa chamado killall, que ira permitir fazer isto:
ALL
Por outro lado, teria que se permitir aos utilizadores o envio do -SIGUSR1 para todos os
processos. O que poderia provocar varios efeitos em programas tais como: apenas fazer
um refresh nos gestores de janelas ou um kill ao xemacs.
Tentamos fazer uma traduc~ao do manual da AMD, mas devido ao facto de este ter uma
linguagem bastante tecnica foi de todo impossivel fazer uma coisa facilmente compreensivel
e explcita sem ter de recorrer a esse tipo de linguagem. Mas para os interessados em saber
mais sobre isso deixamos os links para o Tutorial do Autofs1 e para o do AMD 2 .
6.2 NFS
O NFS (Network File System) - Sistema de Ficheiros de Rede e um meio de partilhar
cheiros entre maquinas, como se estivessem num disco local. O Linux pode ser tanto um
servidor como um cliente NFS, o que signica que se pode exportar sistemas de cheiros para outros sistemas, assim como montar sistemas de cheiros exportados de outras
maquinas.
1 http://www.linuxhq.com/lg/issue24/nielsen.html
2 http://www.cs.columbia.edu/
ezk/am-utils
104
Captulo 6. Servicos
6.2.1.1 O portmapper
O portmapper em Linux e chamado de portmap ou rpc.portmap. Este servico encontra-se
no diretorio de /usr/sbin (em algumas maquinas e chamado de rpcbind). Agora que ja sabemos onde se encontra temos de ter em atenc~ao pois este servico precisa de ser recomecado
de cada vez que se faz o boot maquina. Para que arranque de cada vez que se faz o boot
da maquina e necessario editar o script de rc que pode normalmente ser encontrado em
/etc/rc.d, /etc/init.d ou /etc/rd.c/init.d.
Para vericar se o portmap esta a ser executado usa-se o seguinte comando:
ps -aux
viseu(rw)
105
6.2. NFS
killall -HUP /usr/sbin/rpc.mountd
killall -HUP /usr/sbin/rpc.nfsd
echo re-exported file systems
port
111
111
745
747
2049
2049
portmapper
portmapper
mountd
mountd
nfs
nfs
Como se pode ver o portmapper indica que o mountd e o nfsd est~ao a ser executados, ou
seja, o servidor de NFS esta activo.
106
Captulo 6. Servicos
Permission denied
ent~ao o cheiro de exportac~oes esta errado, ou ent~ao o exportfs n~ao esta a ser executado
depois de ter sido editado o cheiro de exportaco~es.
Para desligar o sistema de cheiro podemos usar
umount /mnt
Para fazer o sistema montar um sistema de cheiro de nfs no boot precisamos de editar o
cheiro /etc/fstab da maneira normal. Para o nosso exemplo e feito da seguinte forma:
# device
gel:/homestaff
mountpoint
/mnt
fs-type options
nfs
rsize=1024,wsize=1024
dump
0
fsckorder
0
De seguida vamos ver como optimizar o NFS para obter um melhor desempenho do sistema.
Isto cria um cheiro de 64Mb de bytes contendo zeros. De seguida fazemos uma tabela
o chamado Elapsed ou Wall clock. Depois
para registo dos tempos e calcular a media. E
podemos testar o desempenho de leitura lendo o cheiro anterior com o comando:
time dd if=/mnt/testfile of=/dev/null bs=16k
6.3. NIS
107
Se o valor de rsize/wsize e muito grande os sintomas s~ao muito estranhos e n~ao s~ao 100%
obvios. Um tpico sintoma e o facto de aparecerem listas de cheiro incompletas quando
fazemmos ls sem mensagens de erro. Ou fazer a leitura de cheiros que falham misteriosamente sem surgirem mensagens de erro.
Depois de estabelecer os valores correctos para trabalhar com o rsize/wsize podemos fazer
o teste de velocidade novamente.
Sistemas diferentes tais como SunOS e Solaris e supostamente muito mais rapidos com
blocos de 4096 bytes que com qualquer outro.
NOTA: Devemos sempre editar o /etc/fstab para re
etir o rsize/wsize que pretendemos
Um truque para aumentar o desempenho de escrita do NFS e incapacitar o sncronismo de
escrita do servidor. O que acontece normalmente com os estados de especicaca~o do NFS
e que os pedidos n~ao s~ao considerados antes de serem totalmente escritos no disco. Isto
restringe bastante o desempenho de escrita, e a escrita assncrona fara o NFS funcionar
mais depressa.
6.3 NIS
As proximas tr^es linhas s~ao citac~oes do Manual de administraca~o de System Network
Sun(tm)
"NIS era conhecido antigamente como Paginas Amarelas da Sun (YP) mas
o nome Paginas amarelas(tm) e uma marca registrada no Reino Unido pela
Telecom plc brit^anica e n~ao podia ser usada sem permiss~ao".
NIS representa o Servico de Informac~ao de Network. Tem como objectivo fornecer informac~ao que tem que ser conhecida ao longo da rede por todas as maquinas na rede. A
informac~ao provavel a ser distribuda pelo NIS e:
108
Captulo 6. Servicos
NIS a funcionar.
Cada vez mais, s~ao instaladas maquinas Linux como parte de uma rede de computadores.
Simplicar a administrac~ao de rede, na maioria das redes (principalmente redes baseadas
em Sun) e correr o Servico de Informac~ao de Rede. As maquinas Linux podem tirar proveito do NIS existente ou fornecer NIS completamente. As maquinas Linux tambem podem
(com a biblioteca do NYS) agir como clientes de NIS+ limitados.
109
6.3. NIS
programa yppush ), e automaticamente actualiza o necessario das mudancas para sincronizar os bancos de dados. Os clientes de NIS n~ao fazem parte disto, eles encontram-se sempre
em conversac~ao com o servidor de NIS para ler a informac~ao armazenada nos bancos de
dados DBM.
O autor dos clientes de YP para linux informou-nos que o mais recente ypbind (em ypclients.tar.gz ) pode ser adquirido no cheiro de conguraca~o do servidor - assim n~ao e
necessario usar o broadcast (que e inseguro - devido ao facto que qualquer um pode instalar um servidor de NIS e pode responder as quest~oes de broadcast...)
110
Captulo 6. Servicos
6.3.3.3 O Software
A biblioteca do sistema /usr/lib/libc.a (vers~ao 4.4.2 e ou melhor) ou a biblioteca de compartilhamento /usr/lib/libc.sa e sua DLL relacionada que cont^em todas as chamadas necessarias ao sistema para o sucesso para compilar o cliente NIS e o software do servidor.
Algumas pessoas informaram que somente o NIS trabalha com o /usr/lib/libc.a vers~ao
4.5.21 e ou melhor, assim se se quiser utilizar n~ao se deve usar um libc mais antigo. O
software cliente NIS pode ser obtido em:
Local
ftp.uni-paderborn.de
ftp.funet.fi
ftp.lysator.liu.se
Diretorio
/linux/local/yp
/pub/Linux/BETA/NYS/clients
/pub/NYS/clients
Nome do Ficheiro
yp-clients-2.2.tar.gz
yp-clients-?.?.tar.gz
yp-clients-?.?.tar.gz
Uma vez obtido o software, segue-se as instruc~oes que v^em com o software.
111
6.3. NIS
/bin/domainname-yp nis.domain
port
111
111
637
639
660
portmapper
portmapper
ypbind
ypbind
6. Pode-se tambem executar rpcinfo -u localhost ypbind. Este comando deve produzir
algo como:
program 100007 version 2 ready and waiting
Finalmente, n~ao esquecer de colocar os lookups do host, que t^em que ser congurados por
si nis para o lookup na linha order do seu cheiro de /etc/host.conf. Para maiores detalhes
de ler-se o manpage resolv+.8 para maiores detalhes. Neste momento deve-se poder usar
os programas cliente NIS como ypcat, etc... Por exemplo, ypcat passwd que dara por inteiro
o banco de dados do NIS para passwd.
Este diretorio tem que existir para que o ypbind possa comecar com sucesso.
Se o seu trabalho de teste acabou agora pode-se querer mudar os cheiros /etc/rc.d/rc.M
e /etc/rc.d/rc.inet2 que ser~ao executados no seu sistema de forma que o ypbind durante o tempo de boot do seu sistema aja como um cliente de NIS. Edita-se o cheiro
112
Captulo 6. Servicos
Que a sua maquina vai ser parte de uma rede com servidores NIS
Que n~ao se tem nenhum servidor de NIS na rede
No primeiro caso tem-se duas escolhas:
1. Pode-se voltar a ligar todo o cliente e programa daemon com a biblioteca NYS
libnsl.so. Isto seria acrescentrar a seguinte linha:
LIBS=-lnsl
no seu makele signica que se quer unir os Servicos de Biblioteca para Netowrk.
Basicamente todos os daemons da rede e o programa de login seria necessario ser
recompilado.
2. Ou pode-se recompilar a biblioteca C padr~ao libc para incluir a biblioteca NYS de
cliente para que a biblioteca libc normal funcione, e ent~ao voltar a ligar todos os links
estastisticos de programas (o link din^amico une programas automaticamente e pode
ser adquirido nas novas vers~ao de libc).
Semelhante ao caso do NIS tradicional, se n~ao se tem servidores NIS, ent~ao tambem se
precisa de um programa servidor de NIS (normalmente chamado de ypserv ) e tem que se
designar um das maquinas em sua rede como servidor mestre de NIS. Novamente, pode-se
querer denir mais de um servidor escravo tambem.
113
6.3. NIS
6.3.5 O Software
Precisa-se de arranjar e compilar a biblioteca libnsl.so do NYS. Se n~ao se tem as ferramentas
de DLL instaladas pode-se obter uma pre-compilada, estatica e sub biblioteca no mesmo
site mencionado abaixo. Porem, note que a vers~ao pre-compilada pode ser (e provavelmente
e) mais antiga que o codigo fonte mais recente lancado.
A biblioteca do NYS (fonte e vers~ao pre-compiladas) pode ser obtido em:
Site
ftp.lysator.liu.se
ftp.lysator.liu.se
Diretorio
/pub/NYS/libs
/pub/NYS/binaries/lib
Nome do Ficheiro
nys-0.27.4.tar.gz
libnsl.so.1.0.a26
Diret
orio
/pub/NYS/binaries/bin
/pub/NYS/binaries/bin
Nome do ficheiro
login
su
Semelhante aos cheiros de congurac~ao do exemplo podem ser obtidos em:
Site
ftp.lysator.liu.se
ftp.funet.fi
Diret
orio
/pub/NYS/binaries/etc
/pub/Linux/BETA/NYS/etc
Nome do ficheiro
*conf
*conf
Para a compilac~ao da biblioteca nsl, segue-se as instruc~oes que v^em com o software. Se
se desejar compilar a biblioteca de partilha DLL tem que se ter as ferramentas de DLL
instaladas no lugar da padr~ao (standard ) (/usr/dll ). As ferramentas de DLL (o pacote
tools-2.11.tar.gz ou superior) podem-se encontrar em muitos sites.
114
Captulo 6. Servicos
/etc/host.conf que determina o modo como ser~ao executados os lookups do host. Novamente, observe-se o cheiro de exemplo contido na distribuic~ao de fonte. Por exemplo, a
linha
hosts: nis files dns
especica as funco~es de lookup do host que devem em primeiro lugar fazer um lookup ao
NIS, de seguida ao cheiro local /etc/hosts e nalmente o servico verdadeiro de domnio
(/etc/resolv.conf e o named ) ao qual se n~ao for encontrado nada sera devolvido um erro.
Diret
orio
/pub/NYS/servers
/pub/linux/local/yp
Nome do Ficheiro
ypserv-1.1.2.tar.gz
ypserv-1.1.2.tar.gz
A congurac~ao do servidor e a mesma para NIS tradicional e para o NYS. Compile o
software para gerar o ypserv e programas makedbm. Primeiramente, determina quais os
cheiros que exigem para estar disponvel para o NIS e ent~ao adiciona-se ou remove as
entradas apropriadas para o ypMakele. Instala-se o cheiro ypMakele em /var/yp como
o cheiro Makele. Constroi-se o cheiro DBM com o comando:
\% cd /var/yp; make
115
6.3. NIS
Diret
orio
/pub/NYS/servers
/pub/Linux/BETA/NYS/servers
Nome do Ficheiro
yps-0.21.tar.gz
yps-0.21.tar.gz
Diretorio
/pub/NYS
/pub/Linux/BETA/NYS/servers
Nome do Ficheiro
yppasswdd-0.7.tar.gz
yppasswdd-0.7.tar.gz
Uma vez obtido o software, segue-se as instruc~oes que v^em com o software.
116
Captulo 6. Servicos
6.4 Samba
O SAMBA e uma aplicac~ao que utiliza o protocolo SMB (no Linux, os "server daemons"
SMBD e NMBD) permitindo compatibilidade com redes que utilizam este protocolo, principalmente redes NetBios da Microsoft.
As mais recentes distribuic~oes ja trazem o SAMBA como padr~ao, mas o seu download
e actualizac~oes est~ao disponveis em http://us4.samba.org/samba/download.html.
Com o SAMBA e possvel partilhar directorios, impressoras, ter acesso a cheiros na rede,
exactamente como em redes Microsoft. Mas neste caso, o servidor e com o sistema operativo Linux a correr uma aplicac~ao especca. O Windows NT e o 2000 (assim como o
NetWare 5 e outros presentes no mercado) s~ao reconhecidos mundialmente pela sua seguranca e escalabilidade, mas o SAMBA possui muitas vantagens que se podem transformar
em soluc~oes e economia para uma empresa. Por exemplo:
WinNT 4.0 e 2000. Entre servidores e estac~oes Linux (com Interface Graca, por
exemplo) a compatibilidade e total.
O SAMBA e 100% conguravel, com a grande vantagem de centralizar esta con-
gurac~ao num unico cheiro, o smb.conf. Sem duvida e muito interessante ter a
possibilidade de restaurar toda a conguraca~o que disponibiliza o seu Servidor de Ficheiros (inclusive as permiss~oes de acesso) atraves do backup de apenas um cheiro,
em casos de desastre. Porem isto n~ao quer dizer que n~ao seja necessario o backup de
outros cheiros de congurac~ao...
Todo o servidor SAMBA pode ser congurado remotamente, alem de receber por
email informac~oes do estado do servidor (bastando utilizar um script especco que
faca a pesquisa de informac~oes nos cheiros de log e crie um cheiro que pode ser
enviado por email).
Quanto a economia n~ao ha o que discutir: o Linux e o SAMBA est~ao disponveis
para download na Internet sem custos com licencas ou actualizaco~es para qualquer
utilizador comum ou empresa que se interesse em utiliza-lo.
O suporte esta disponvel 24h por dia, o ano todo: alem de no proprio site do SAMBA
117
6.4. Samba
6.4.1 Instalac~ao
Se a distribuic~ao que deseja utilizar ja traz o SAMBA, a instalac~ao n~ao e necessaria. Se
deseja actualiza-lo ou iniciar a instalac~ao, devem seguir-se os seguites passos:
1. Para instalar o SAMBA e necessario antes de mais saber se o pacote esta no formato
RPM ou .tar (.tgz ou .tar.gz).
118
Captulo 6. Servicos
6.4. Samba
null passwords = no
unix password sync = yes
socket options = IPTOS_LOWDELAY TCP_NODELAY
printing = bsd
printcap name = /etc/printcap
load printers = yes
hosts allow = 192.168.2.
hosts deny = 192.168.0.3 192.168.0.4
[homes]
comment = Pastas dos Utilizadores
public = no
browseable = yes
writeable = yes
hosts deny = 192.168.0.250
[printers]
comment = Impressoras Linux
public = no
browseable = yes
printable = yes
read only = yes
create mode = 0700
path = /var/spool/samba
admin users = admin, utilizador1
[netlogon]
comment = Partilha de Scripts
path = /etc/scripts
public = no
browseable = yes
writeable = no
[users]
comment = Utilizadores comuns
path = /home/comuns
public = yes
browseable = yes
writeable = yes
write list = @comuns
read list = @comuns
force create mode = 0777
119
120
Captulo 6. Servicos
force directory mode = 0775
max disk size = 200
[oculto\$]
comment = S
o para Admnistradores
path = /home/admin/oculto
copy = homes
max connections = 1
comment
workgroup
security
Por padr~ao o SAMBA utiliza a seguranca a nvel do utilizador (security = user), mas
existem outras opc~oes:
security = share - Ser~ao solicitadas passwords por cada recurso partilhado e n~ao por
utilizador, ou seja, cada directorio ou impressora podera ter uma password unica
conhecida apenas pelos utlizadores autorizados.
os dados para outro servidor SMB, como outro servidor SAMBA ou um servidor
Windows. Deve-se incluir o par^ametro .password server = x.x.x.x. na secc~ao [global]
do smb.conf.
os level
Este par^ametro n~ao e obrigatorio se n~ao se possui um servidor Windows na rede, mas deve
ser usado caso se tenha um ou mais. A variavel e um numero de 1 a 255, onde 65 e a
6.4. Samba
121
mesma variavel utilizada pelo servidor Windows. Deve-se utilizar um numero maior que
este (como 100 por exemplo) para garantir que o servidor SAMBA seja eleito na escolha
de validac~ao do login das estac~oes
announce as
Permite especicar o tipo de servidor NetBios (nmbd) que sera divulgado na rede. As
opc~oes aceites pelo SAMBA: "NT Server", "NT Workstation", "Win95"ou "WfW"
domain logons
logon script
Indica qual cheiro de logon cujo script sera executado para os utilizadores. A variavel
%u corresponde ao utilizador na rede. Deve tambem ser criado uma partilha de nome
[netlogon] apontando para o directorio dos scripts
logon path
domain master
local master
preferred master
Este par^ametro forca a eleic~ao do SAMBA como Master Browser para o workgroup. E
recomendavel utilizar este par^ametro em conjunto com o .domain master = yes. para garantir a eleicao.
Nota: se se possuir uma rede com servidores Windows e SAMBA e tambem possuir um
servidor como Domain Master, n~ao se usa esta opc~ao e deixa-se o par^ametro .os level =
65. para haver equilbrio
guest acount
O SAMBA trabalha melhor em redes Microsoft com a exist^encia de uma conta guest (visitante em ingl^es). Por padr~ao a conta usada e nobody...
122
Captulo 6. Servicos
wins server
Indica qual o servidor de Wins da rede. Se o proprio Host for o servidor de Wins ent~ao
n~ao se utiliza este par^ametro, pois havera um loop e o sistema para!
wins support
Permite ao SAMBA ser o servidor de Wins na rede. Isto signica que o SAMBA tera uma
tabela com o ambiente completo da rede, garantindo que as estac~oes tenham acesso a estas
informac~oes e ganhem em velocidade para encontrar e aceder as partilhas e impressoras.
O Wins Server deve ser especicado na conguraca~o de rede (TCP/IP) das estac~oes, que
e o endereco IP do servidor
keep alive
Como as maquinas que correm Windows tendem a bloquear de tempos a tempos, este
par^ametro e usado para vericar o estado da ligac~ao, evitando trafego desnecessario na
rede. Tambem pode ser usado para estaco~es Linux
debug level
Par^ametro usado para dar
exibilidade a conguraca~o do sistema. Permite ao SAMBA
trabalhar correctamente com algumas situac~oes de erro, por exemplo
winpopup command
Especica qual e o comando que sera executado quando o servidor receber mensagens
Winpopup. Aqui, muitas opc~oes podem ser usadas de acordo com a prefer^encia do Administrador. Se a sua rede utiliza mensagens deste tipo, e interessante denir um comando
para o par^ametro, evitando assim possveis mensagens de erro para quem enviou a mensagem ao servidor
log le
null passwords
Indica se sera ou n~ao possvel que alguns utilizadores tenham password nula de logon (logon sem password)
Se este par^ametro for activado (= yes) ent~ao clientes SMB (como estac~oes Windows) poder~ao alterar a sua password de login
socket options
Este par^ametro permite congurac~oes extras para o protocolo, possibilitando uma melhor
performance do servidor em lidar com os pacotes na rede
6.4. Samba
123
printing
printcap name
load printers
hosts allow
Indica quais as maquinas que tem acesso ao servidor SAMBA. Pode-se utilizar o endereco
IP ou o nome da maquina. Para garantir acesso a toda uma rede por exemplo, escreva:
"hosts allow = 172.16.90."
hosts deny
comment
public
Tambem conhecido como .guest ok., permite ou n~ao acesso de outros utilizadores
browseable
writeable
Indica se o utilizador podera ou n~ao escrever na sua pasta pessoal (home dir)
As demais secc~oes correspondem a partilhas presentes na rede. Os par^ametros seguintes s~ao apenas alguns dos possveis:
comment
124
Captulo 6. Servicos
path
writeable
public / guest ok
browseable
write list
read list
Diz ao SAMBA para forcar o tipo de permiss~ao dos cheiros criados (o mesmo que usar o
chmod). Esta permiss~ao tem menor prioridade que os par^ametros write list e read list
O mesmo que .force create mode., mas para os directorios criados na partilha
admin users
Indica quais s~ao os utilizadores com permiss~ao completa para a partilha (permiss~ao de root)
copy
Permite copiar os par^ametros de outra secca~o, como um template por exemplo, util se se
utiliza partilhas semelhantes. Para alterar par^ametros basta informa-los na secc~ao actual
hosts allow
Indica quais as maquinas que podem aceder a partilha. Pode-se utilizar o endereco IP ou
o nome da maquina. Para garantir acesso a toda uma rede classe C por exemplo, escreva:
"hosts allow = 172.16.90."
hosts deny
125
6.4. Samba
max connections
Permite especicar qual o limite de espaco em disco que a partilha pode utilizar. Este
valor e denido em Mb (megabytes)
De seguida apresentam-se as variaveis que podem ser usadas em par^ametros e a respectiva
func~ao:
Variaveis Func~oes
%S
Nome do Servico (partilha) actual
%u
Nome do utilizador
%g
Nome do grupo
%H
Nome do directorio pessoal do utilizador
%m
Nome da maquina cliente fornecido pelo NETBIOS
%L
Nome do servidor NETBIOS, permite que a congurac~ao desejada
seja alterada de acordo com o cliente que vai aceder ao sistema
%M
Nome Internet da maquina cliente
%a
Sistema operativo da maquina remota, onde os reconhecidos s~ao
WfW, WinNT e Win95
%I
O endereco IP da maquina cliente
%T
Data e horario
Tabela 6.1: Variaveis dos par^ametros gerais do smb.conf
Agora que o smb.conf esta congurado o melhor e fazer um teste para saber se esta tudo
correcto, com o comando testparm > teste config samba
Sera criado o cheiro teste cong samba. Confere-se este cheiro e caso exista alguma
mensagem de erro (ERROR...) volta-se e corrige-se o problema. Feitas as congurac~oes,
deve-se activar o SAMBA com o comando /etc/rc.d/init.d/smb start
Se se quiser vericar se o SAMBA esta a funcionar, executa-se o comando anterior mas
substitui-se o "start"por "status". Para que o SAMBA seja iniciado sempre apos a inicializac~ao do servidor, executa-se o ntsysv e marca-se o SMB. Tambem se pode escrever a
linha de "start"do smb no cheiro /etc/rc.d/rc.local, da seguinte forma:
1. Executa-se vi /etc/rc.d/rc.local
2. Tecla-se i para editar e corre-se ate ao nal do cheiro
126
Captulo 6. Servicos
6.5 Sendmail
A primeira vers~ao foi escrita em 1979, por Eric Allman e desde ent~ao tem sido includo
em todas as distribuic~oes Unix. Ficou um pouco "esquecido"pelo autor entre 1982 e 1990
e por este e outros motivos, os diversos fabricantes de Unix (IBM, HP, Sun) trataram de
expandir e melhorar o sendmail original. O resultado desse processo foi o aparecimento de
inumeras vers~oes incompatveis entre si.
Em 1994, Eric comecou a trabalhar na vers~ao 8.7 do sendmail, que incorporou a maioria das extens~oes apresentadas pelos UNIX's comerciais. Assim, o sendmail passou a ser
novamente um programa unico. A vers~ao actual do sendmail e a 8.9.2, que foi lancada no
nal de 1998.
Padr~ao da Internet
Mais de 70% dos servidores de e-mail utilizam o sendmail como MTA (Mail Transfer
Agent). O QMail ainda detem um setimo lugar em utilizac~ao na Internet, atras do
Exchange Server da Microsoft e de outros.
Documentac~ao
Existe uma quantidade razoavel de documentac~ao sobre o sendmail na Internet; existem HOWTOs dedicados a certos aspectos da congurac~ao do sendmail; e caso tudo
isto falhe, sempre ha o livro Sendmail3, mais conhecido pelos ntimos como BatBook.
Ainda n~ao existe um livro para o QMail, e a documentaca~o sobre o mesmo na Internet ainda e pouca. A documentaca~o on-line e suciente porem esparsa, ainda pode
melhorar bastante.
3 Sendmail,
2nd Edition, Brian Costales with Eric Allman, O' Reilly & Associates, January 1997
6.5. Sendmail
127
Suporte comercial
A Sendmail Inc., empresa fundada pelo proprio Eric Allman, vende vers~oes comerciais do sendmail com front-end graco de conguraca~o. Isto pode ser interessante
para aqueles que precisam de suporte comercial ou fazem quest~ao da congurac~ao
facilitada em modo graco. No caso do QMail, o que existe s~ao empresas que d~ao
suporte comercial ao QMail, sem vinculac~ao directa com o autor.
Vers~ao para NT
Uma das vers~oes comerciais e para a plataforma Windows NT. N~ao existe vers~ao do
QMail para Windows.
Este nome da maquina - gel - n~ao esta registado no DNS do nosso servidor, portanto
ninguem do mundo exterior chegara a nossa maquina usando esse nome. Ele so e reconhecido localmente.
Utilizadores no sistema local: Ricardo Silva e Rui Cabral. Poderiam haver mais.
Caixa postal no servidor de e-mail do servidor de Internet: ricardosilva@gel.estv.ipv.pt (Os
128
Captulo 6. Servicos
programas de envio de e-mail devem estar congurados com este nome de caixa postal,
para que os diversos campos do e-mail, como "Return-Path:"e outros estejam preenchidos
com um e-mail valido. A n~ao observ^ancia deste facto fez com que o nosso servidor aceitasse
todos os nossos e-mails mas n~ao entregasse nenhum...)
Devera ser possivel mandar e-mails entre utilizadores locais sem que esses e-mails sejam
repassados ao servidor da ESTV. Obviamente, devera ser possvel mandar e-mails para
outras caixas postais da ESTV.
E-mails para sites remotos devem ser simplesmente passados adiante ao servidor de email da ESTV. Por que n~ao entregar directamente no site de destino ? Pois isto pode
tomar muito tempo se o site for distante e lento (imagine, mandar um arquivo enorme
para quem@hotmail.com). Queremos entregar rapidamente o e-mail para a ESTV e ela
que se encarregue de manda-lo adiante.
Como o nome gel.estv.ipv.pt n~ao e conhecido na Internet queremos que os nossos correspondentes remotos mandem replys para ricardosilva@estv.ipv.pt, e n~ao para ricardosilva@gel.estv.ipv.pt. Isto implica em que nosso servidor de e-mail modique o endereco
do remetente, tirando fora o "gel".
129
6.5. Sendmail
define(`SMART\_HOST,`estv.ipv.pt)
define(`ALIAS\_FILE,`/etc/aliases)
MAILER(local)dnl
MAILER(smtp)dnl
A feature masquerade envelope indica que queremos mascarar o remetente. De facto, queremos que ricardosilva@gel.estv.ipv.pt saia como ricardosilva@estv.ipv.pt para o mundo
externo.
A denic~ao SMART HOST permite-nos dizer para que servidor de e-mail devemos passar
adiante as mensagens n~ao locais. N~ao queremos entrega-las nos mesmos, pois isto demoraria muito e ocuparia muito tempo de uma cara linha telefonica. Se fossemos um servidor
Internet, n~ao usaramos este recurso.
Depois executa-se o comando
m4 epx.mc > /etc/sendmail.cf
A func~ao desta tabela e determinar que os enderecos da primeira coluna - no caso, enderecos
locais - ser~ao convertidos para os enderecos a direita. Quem eventualmente responder a
um de nossos e-mails, mandara a resposta para a caixa postal do servidor de Internet, que
atende 24h por dia e esta registada no DNS.
echo "gel.estv.ipv.pt> genericsdomain
Os domnios constantes neste arquivo ser~ao considerados locais. Pelo menos no nosso
caso, basta inserir o nome da nossa propria maquina.
echo "postmaster:
newaliases
ricardosilva> aliases
A func~ao desta tabela e passar adiante os e-mails de certos utilizadores para outros. Todo
o servidor de e-mail deve aceitar mensagens para o utilizador postmaster, ent~ao no nosso
caso passaremos estas mensagens adiante para um utilizador real.
130
Captulo 6. Servicos
killall -1 sendmail
Ordenamos ao sendmail que releia os nossos arquivos de congurac~ao, e a temos o nosso
proprio servidor de e-mail.
Velocidade
Segundo o autor, o QMail e ate 100 vezes mais rapido que o sendmail em determinadas
tarefas.
Seguranca
O QMail foi projectado desde o incio para ser seguro. O autor chegou a oferecer
um premio de US$ 1.000 para quem conseguisse invadir uma maquina por meio de
uma fraqueza do QMail. Ninguem conseguiu, e o dinheiro acabou ser doado a Free
Software Foundation.
Enquanto o sendmail e um programa monoltico (um unico executavel que faz tudo)
corendo com permiss~oes de administrador da maquina, o QMail e dividido em diversos executaveis, dos quais apenas um (o que faz a gest~ao da la) tem permiss~ao
de administrador da maquina. Mesmo que um invasor remoto consiga tomar conta
de um dos programas de comunicaca~o, n~ao tera permiss~ao para fazer muita coisa.
Por outro lado, se ele tomar conta do sendmail, tera permiss~oes de administrador da
maquina.
Outro aspecto interessante do QMail e que ele usa uma biblioteca propria, diferenciada, para lidar com strings. Isto praticamente elimina as hipoteses de ocorrer um
crash do buer, que e o defeito mais comum explorado na invas~ao de um programa.
131
arquivos claramente nominados, e incrivelmente facil de entender e manter. A congurac~ao via macros e relativamente facil, mas depois que se tenha uma boa noc~ao
do funcionamento geral do sendmail, e isso e dicil obter.
Empresas como Red Hat e outras substituram o sendmail pelo QMail com sucesso.
132
Captulo 6. Servicos
IMAP - ftp://ftp.cac.washington.edu/imap/
Mysql - http://www.mysql.com/Downloads/MySQL-3.22/mysql-3.22.32.tar.gz
ModSSL - http://www.modssl.org/source/mod ssl-2.7.0-1.3.14.tar.gz
OpenSLL - http://www.openssl.org/source/openssl-0.9.6.tar.gz
provavel que neste momento alguns dos pacotes anteriores ja ter~ao vers~oes mais recentes.
E
Neste caso, prera sempre a vers~ao mais recente, e leia a documentaca~o para ver se algo
mudou nos procedimentos de conguraca~o.
Neste exemplo vamos utilizar o diretorio /usr/src/web para descompactar os arquivos e
utilizar a congurac~ao padr~ao de instalaca~o dos aplicativos.
Descompactar o pacote openssl-0.9.6.tar.gz
tar xvfz openssl-0.9.6.tar.gz
Compilar o openssl
make
Instalar o openssl
make install
Actualizar as libraries
ldconfig
133
134
Captulo 6. Servicos
A instalac~ao e congurac~ao do IMAP vai depender do sistema que se estiver a utilizar,
pode-se vericar o arquivo Makele e ver qual a opca~o que se enquadra melhor com o seu
sistema. Para os sistemas Linux, a opca~o slx funciona na maioria dos casos.
make slx
Reiniciar o inetd
killall -1 inetd
Compilar
make
135
Instalar
make install
Inicializar o Mysql
/usr/local/mysql/bin/safe mysqld
Nota: E interessante denir uma password para o utilizador root do Mysql atraves do comando: mysqladmin password PASSWORD
Descompactar os fontes do PHP4
tar xvfz php-4.0.3.tar.gz
Neste caso estamos a utilizar o suporte da base de dados Mysql do PHP instalado no
directorio /usr/local, se o directorio de instalac~ao for diferente tem de alterar o local onde
esta instalada a base de dados Mysql. Muitas distribuico~es do Linux que ja v^em com o
Mysql pre-instalado esta instalac~ao encontra-se no directorio /usr.
O suporte ao IMAP tambem esta habilitado e as fontes neste exemplo est~ao no directorio
../imap-2000.RELEASE-CANDIDATE.7.
Compilar o PHP
make
Instalar o PHP
make install
136
Captulo 6. Servicos
A opc~ao -enable-module=so serve para utilizar do recurso Dynamic Shared Object, que
possibilita a opc~ao do apache carregar modulos adicionais sem a necessidade de recompilar
o Apache. Esta opc~ao funciona em determinados sistemas Unix, como o Linux.
Compilar o Apache
make
O
par^ametro Common Name (eg, YOUR name) deve ser o nome do host que
se deseja criar o certicado.
3. Certicar o seu certicado atraves de uma Autoridade Certicadora (Certicate
Authority (CA)) - Existem diversas entidades certicadoras na Web, como a verisign
e certsign. De seguida vamos explicar como criar uma Autoridade Certicadora.
137
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
6. Assinar o seu certicado com a Autoridade Certicadora que criou. - O mod ssl
vem com um script (sign.sh) que automatiza este processo, ele esta no directorio
pkg.contrib do pacote do mod ssl.
./sign.sh server.csr
Apos isto ele cria o arquivo server.crt que corresponde ao certicado assinado pela entidade
certicadora.
Como foi criado uma key do servidor com password, para utilizar este certicado quando
for iniciar o apache, vai ser necessario informar a password. Este processo acaba por impedir a automatizac~ao da inicializac~ao do Apache. Para resolver este problema, pode ser
criado um certicado sem esta password.
openssl rsa -in server.key -out server.key.nopass
Utilizando esta key server.key.nopass n~ao vai ser necessario informar uma password para
inicializar o apache.
NOTA:Deve-se ter cuidado com a permiss~ao dos seus certicados, principalmente
com este certicado sem password. Recomenda-se a permiss~ao de leitura somente
para o owner.
chmod 400 server.key.nopass
Instalar o Apache
make install
O proximo passo e congurar o servidor Apache de acordo com as necessidades. O arquivo de congurac~ao vai estar no directorio /usr/local/apache/conf, o nome do arquivo
de congurac~ao e apache.conf.
138
Captulo 6. Servicos
6.7 FTP
6.7.1 Controlar o acesso aos servicos
Como medida de seguranca, a maioria dos servicos de rede s~ao administrados por um programa protector chamado TCP wrapper. Os servicos protegidos s~ao listados em /etc/inetd.conf
que especica se /usr/sbin/tcpd.tcpd pode permitir ou negar acesso a um servico, e a congurac~ao em /etc/hosts.allow e /etc/hosts.deny. Por default do Red Hat Linux s~ao permitidos todos os servicos solicitados. Para desactivar ou limitar servicos edita-se /etc/hosts.allow.
Considerando o cheiro abaixo /etc/hosts.allow como exemplo:
ALL: ipv.pt .estv.ipv.pt
in.talkd: ALL
in.ntalkd: ALL
in.fingerd: ALL
in.ftpd: ALL
Esta congurac~ao permite todas as ligaco~es de maquinas ipv.pt e *.estv.ipv.pt. Tambem
permite talk, nger e ftp entre todas maquinas. O tcpd permite um controle de acesso muito
mais sosticado, usando uma combinaca~o de /etc/hosts.allow e /etc/hosts.deny.
Dene a maior parte do controlo de acessos ao servidor ftp. Algumas coisas que podem
ser feitas: congurar grupos logicos para controlar acessos de diversos sites, limitar o
numero de ligac~oes simult^aneas de FTP, congurar a transfer^encia de logging, e muito
mais.
/etc/ftphosts
6.8. DNS
139
/etc/ftpusers
Este cheiro lista todos os utilizadores que n~ao t^em permiss~ao de executar transmiss~oes
ftp. Por exemplo, root e listado em /etc/ftpusers como padr~ao. Isso signica que n~ao
pode ser executado ftp nesta maquina como super-utilizador. Isto e uma boa medida de
seguranca.
6.8 DNS
O DNS (ou Domain Name Server), converte os nomes das maquinas nos seus enderecos
IP que todas as maquinas ligadas a rede devem ter. Este servico \traduz" (map) do nome
para o endereco IP e vice-versa entre muitas outras coisas.
Um mapping e simplesmente uma associac~ao entre duas coisas, neste caso o nome da
maquina, por exemplo gel.estv.ipv.pt, e o seu endereco IP 172.16.90.1. O DNS tambem
contem mappings no sentido inverso, do IP para o nome da maquina; isto e o chamado
\reverse mapping".
O DNS e para aqueles que so agora comecam a utilizar o Linux, uma das areas mais
densas da administrac~ao de redes. Felizmente n~ao e muito difcil de entender. Nesta
secc~ao vamos tentar descrever como se congura um DNS Name Server.
Antes de comecar e necessario vericar algumas condic~oes essenciais:
140
Captulo 6. Servicos
zone "." {
type hint;
file "root.hints";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "pz/127.0.0";
};
A linha com o parametro directory indica ao named aonde e que ele deve procurar os
cheiros. Assim, em todos os parametros le as indicaco~es s~ao sempre tendo como base
o directorio indicado acima. Um exemplo disto e pz que deve ser entendido como um
directorio localizado em /var/named, isto e, /var/named/pz.
O cheiro /var/named/root.hints deve ter alguma coisa como:
; There might be opening comments here if you already have this file.
; If not don't worry.
;
.
6D IN NS
M.ROOT-SERVERS.NET.
.
6D IN NS
I.ROOT-SERVERS.NET.
141
6.8. DNS
.
.
.
.
.
.
.
.
.
.
.
;
M.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.
6D
6D
6D
6D
6D
6D
6D
6D
6D
6D
6D
IN
IN
IN
IN
IN
IN
IN
IN
IN
IN
IN
NS
NS
NS
NS
NS
NS
NS
NS
NS
NS
NS
E.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.
6D
6D
6D
6D
6D
6D
6D
6D
6D
6D
6D
6D
6D
IN
IN
IN
IN
IN
IN
IN
IN
IN
IN
IN
IN
IN
A
A
A
A
A
A
A
A
A
A
A
A
A
202.12.27.33
192.36.148.17
192.203.230.10
128.8.10.90
198.41.0.4
128.63.2.53
192.33.4.12
192.112.36.4
192.5.5.241
128.9.0.107
198.41.0.10
193.0.14.129
198.32.64.12
A proxima secc~ao no cheiro named.conf e ultima zona. Esta parte vai ser explicada
mais adiante; por agora criamos um cheiro chamado 127.0.0 no subdirectorio pz com o
seguinte conteudo:
$TTL 3D
@
IN
SOA
NS
PTR
ns.linux.bogus. hostmaster.linux.bogus. (
1
; Serial
8H
; Refresh
2H
; Retry
4W
; Expire
1D)
; Minimum TTL
ns.linux.bogus.
localhost.
142
Captulo 6. Servicos
De seguida e preciso o cheiro /etc/resolv.conf que deve ser qualquer coisa como:
search subdomain.your-domain.edu your-domain.edu
nameserver 127.0.0.1
A linha com o \search" especica que dominios devem ser procurados para cada host
name ao qual nos queremos ligar. A linha \nameserver" especica o endereco do nosso
nameserver, neste caso a nossa propria maquina uma vez que e onde o named esta a correr
(127.0.0.1 esta correcto independentemente de a nossa maquina ter ou n~ao outro endereco
IP).
Se quisermos listar varios name servers basta colocar uma linha \nameserver" para cada
um deles. Nota: O named nunca l^e este cheiro, apenas o faz o resolver que usa o named.
Em alguns cheiros resolv.conf e encontrada uma linha com a indicac~ao \domain", isto
esta correcto mas nunca se deve usar o \search" e \domain" pois so um deles ira funcionar'.
Para demonstrar o que este cheiro faz, vamos apresentar um exemplo considerando o
resolv.conf apresentado em cima
143
6.8. DNS
1D IN PTR
1D IN NS
localhost.
ns.penguin.bv.
Se foi isto que apareceu ent~ao esta a funcionar correctamente. Caso contrario o melhor
sera voltar atras e rever as conguraco~es. De cada vez que se alterar o named.conf e
necessario fazer o restart do servico com o comando ndc restart.
6.8.3 Resolvers
Todos os sistemas operativos implementaram o padr~ao C API para as chamadas gethostbyname e gethostbyaddr. Estas chamadas podem obter informac~oes de diversas fontes que
144
Captulo 6. Servicos
files dns
Esta linha indica-nos onde e que esses programas devem procurar primeiro no cheiro
/etc/hosts e de seguida vericar o DNS de acordo com o estabelecido no resolv.conf.
6.8. DNS
[?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?]
145
Bibliograa
[1]
[2]
Alvestrand, H.
[3]
Brown, P.
[4]
Corp., R. H.
[5]
Hughes, P.
[6]
Komarinski, M.
[7]
Lars Wirzenius, J. O.
[8]
Olaf Kirch, T. D.
[9]
Quinlan, D.
2 (Junho 1994).
Book Review: "Linux Installation and Getting Started by Matt WelshLinux Journal, No 1 (Maio 1994).
(Junho 1994).
[10]
Ramey, C.
[11]
Staff, T. L. J.
[12]
Thompson, B.
[13]
Tridgell, A.
1994).
1994).