Linux
SENAC-RR/2011
Sumrio
Indice de Figuras ................................................................................................................................................................ 8
Histria e introduo..................................................................................................................................................... 10
Software Livre ............................................................................................................................................................. 11
Por que Open Source (Cdigo Aberto) no um software livre........................................................ 11
Movimento GNU ......................................................................................................................................................... 12
Licenas Livres ............................................................................................................................................................ 12
Principais ambientes de interao...................................................................................................................... 13
GNOME ...................................................................................................................................................................... 13
KDE.............................................................................................................................................................................. 13
Sistema Bsico- Console ..................................................................................................................................... 14
Principais Distribuies .......................................................................................................................................... 14
Debian ........................................................................................................................................................................ 14
Ubuntu ....................................................................................................................................................................... 15
Red Hat ...................................................................................................................................................................... 15
CentOS........................................................................................................................................................................ 16
Padronizao LSB.................................................................................................................................................. 16
Instalando Servidores Linux ...................................................................................................................................... 17
Caractersticas dos Servidores ........................................................................................................................ 17
Layout de particionamento.................................................................................................................................... 18
Viso geral do sistema de arquivos (parties)........................................................................................ 18
Decidindo o particionamento........................................................................................................................... 19
Gerenciador de Inicializao ................................................................................................................................. 20
LILO Linux Loader ............................................................................................................................................. 20
GRUB Grand Unified Bootloader ................................................................................................................. 20
Instalando o Debian .................................................................................................................................................. 20
Particionamento .................................................................................................................................................... 22
Sistemas de arquivos e Estrutura de diretrios ................................................................................................. 28
Sistemas de arquivos ........................................................................................................................................... 28
Estrutura de diretrios ....................................................................................................................................... 29
Descrio da rvore de diretrios .................................................................................................................. 30
SENAC-RR/2011
SENAC-RR/2011
vi ................................................................................................................................................................................... 62
vim ............................................................................................................................................................................... 62
Gerenciamento de pacotes com APT.................................................................................................................. 64
Expresses Regulares............................................................................................................................................... 65
O circunflexo ^........................................................................................................................................................ 67
O cifro $ ................................................................................................................................................................... 67
O colchete [] ............................................................................................................................................................. 67
O ponto . .................................................................................................................................................................... 68
As chaves { }............................................................................................................................................................. 69
O curinga .* (ponto asterstico) (AND) ......................................................................................................... 70
O or | (barra em p) (OR)................................................................................................................................... 70
Os repetidores ? + * .............................................................................................................................................. 71
Lista de negao [^] ............................................................................................................................................. 71
Intervalo de lista [-] .............................................................................................................................................. 71
Criao e gerenciamento de usurios e grupos .................................................................................................. 74
Gerenciamento ....................................................................................................................................................... 77
Comandos de gernciamento de senhas sombra ..................................................................................... 84
Inicializao do sistema e runlevels........................................................................................................................ 88
Processo Init................................................................................................................................................................. 88
SysV init ......................................................................................................................................................................... 88
Entendendo os links simblicos do diretrio /etc/rc.d/rc[0-6].d.................................................... 88
Inicializando servios .......................................................................................................................................... 90
Desabilitando e Habilitando scripts na inicializao .............................................................................. 90
Perdeu a senha de root (superusurio)? ..................................................................................................... 92
No LILO ...................................................................................................................................................................... 92
No GRUB.................................................................................................................................................................... 92
Gerenciamento de Processos e Servios ............................................................................................................... 95
Processos ....................................................................................................................................................................... 95
Componentes de um processo ......................................................................................................................... 95
Execuo de um processo .................................................................................................................................. 96
Classificao dos processos .............................................................................................................................. 97
Tipos de processos .................................................................................................................................................... 97
Processos dinmicos ............................................................................................................................................ 97
SENAC-RR/2011
SENAC-RR/2011
Verses do kernel................................................................................................................................................135
Sufixos do kernel .................................................................................................................................................135
Localizao do kernel no sistema .................................................................................................................136
Imagem e documentao do kernel.............................................................................................................136
Compilando um kernel ..........................................................................................................................................136
Configurao .........................................................................................................................................................137
Compilao.............................................................................................................................................................138
Instalao................................................................................................................................................................139
Initial Ramdisk .....................................................................................................................................................139
Atualizando o bootloader ................................................................................................................................140
Sistema de Impresso .................................................................................................................................................142
Configurao de uma impressora no Cups ....................................................................................................142
Arquivos de configurao CUPS .........................................................................................................................142
Compartilhando uma impressora no Cups no Debian ..............................................................................142
Configurando um computador cliente CUPS............................................................................................144
Backups .............................................................................................................................................................................146
Polticas de Backup .................................................................................................................................................146
Backup Total .........................................................................................................................................................146
Backup Incremental ...........................................................................................................................................147
Backup Diferencial..............................................................................................................................................147
Conceitos de TCP/IP ferramentas e diagnsticos ........................................................................................149
Camadas dos protocolos TCP/IP .......................................................................................................................151
Comandos de Rede ..................................................................................................................................................151
Para compartilhar a conexo..........................................................................................................................153
Criando um servidor de DNS BIND9 .................................................................................................................154
Servidor DNS ..............................................................................................................................................................154
Instalao................................................................................................................................................................154
Configurao ..............................................................................................................................................................154
DHCP Dinamic Host Control Protocol ...............................................................................................................157
Instalando um servidor WEB com Apache2 ......................................................................................................158
Servidor proxy Squid ...............................................................................................................................................159
Monitoramento do ambiente de rede com Cacti..............................................................................................161
cacti ................................................................................................................................................................................161
SENAC-RR/2011
SENAC-RR/2011
NDICE DE FIGURAS
Figura 1 - PDP-7 .............................................................................................................................................................. 10
Figura 2 - Gnome ............................................................................................................................................................. 13
Figura 3 - KDE .................................................................................................................................................................. 13
Figura 4 - Console ........................................................................................................................................................... 14
Figura 5 - Ambiente de trabalho............................................................................................................................... 18
Figura 6 - Boot Debian .................................................................................................................................................. 21
Figura 7 - Escolher Idioma .......................................................................................................................................... 22
Figura 8 - Configurao da Rede............................................................................................................................... 22
Figura 9 Mtodo de Particionamento ................................................................................................................. 23
Figura 10 - Esquema de Particionamento ........................................................................................................... 24
Figura 11 - Seleo do fuso horrio......................................................................................................................... 24
Figura 12 - Espelho de Redde .................................................................................................................................... 25
Figura 13 - Informao sobre proxy ....................................................................................................................... 25
Figura 14 - Seleo de software ................................................................................................................................ 26
Figura 15 - Instalao do GRUB ................................................................................................................................ 26
Figura 16 - Tela de login em modo Texto ............................................................................................................. 27
Figura 17 - Script para executar programas na inicializao ....................................................................... 91
Figura 18 - Execuo de um processo .................................................................................................................... 97
Figura 19 - Sintaxe do arquivo syslog.conf.........................................................................................................106
Figura 20 - Verso do Kernel Linux .......................................................................................................................135
Figura 21 - A interface de configurao ncurses a mais simples e a mais utilizada para
configurao do kernel. ..............................................................................................................................................137
Figura 22 - A interface de configurao do kernel feita em Qt...................................................................137
Figura 23 - A interface de configurao do kernel feita em Gtk. ...............................................................138
Figura 24 - Sugesto de Poltica de Backup .......................................................................................................148
Figura 25 Diagrama do Protocolo TCP/IP ......................................................................................................151
Figura 26 - Camadas do Protocolo TCP/IP .........................................................................................................151
Figura 27 - Logando no servidor via SSH ............................................................................................................165
SENAC-RR/2011
LINUX FUNDAMENTOS
SENAC-RR/2011
HISTRIA E INTRODUO
Em meados dos anos 1960 um grupo de trabalho formado pelas empresas Bell Telephone Labs
da AT&T, General Eletric e liderado pelo MIT trabalharam em um sistema operacional chamado
MULTCS (Multiplexed Information and Computing Service) para criar um sistema operacional
para grandes computadores e capaz ser utilizado por vrios usurios simultaneamente.
O projeto do MULTICS no foi pra frente, mas as idias utilizadas em sua criao estavam bem
frente do seu tempo, tornando-se uma influencia importante para os sistemas operacionais
modernos.
Em 1969 Ken Thompson e Dennis Ritchie da Bell Labs aproveitam a experincia adquirida no
projeto MULTICS e escrevem um sistema com um nico proposito de jogar space war em um
DEC PDP-7 com 4k de RAM.
Devido s pesadas limitaes da mquina, o
sistema operacional deveria ser extremamente
enxuto e otimizado, de forma a extrair o
mximo de desempenho e consumir o mnimo
possvel de memria. A combinao da
criatividade
dos
desenvolvedores,
a
necessidade e as limitaes impostas pelo
equipamento, resultou em um sistema
bastante otimizado e elegante. Muitas das
idias surgidas nessa poca continuam sendo
usadas at hoje.
Figura 1 - PDP-7
SENAC-RR/2011
SOFTWARE LIVRE
A Free Software Fundation atribui quatro caractersticas a sistema para que o mesmo possa ser
considerado Livre:
1. Liberdade de execuo do programa para qualquer fim, pessoal ou comercial.
2. Liberdade de estudo do cdigo fonte que deve ser disponibilizado a qualquer pessoa.
3. Liberdade para modificar e distribuir o sistema a qualquer pessoa de forma que a
comunidade se beneficie dos seus avanos.
4. Liberdade para copiar e redistribuir o programa a amigos e conhecidos, sem que seja
necessrio qualquer nus para isso.
Isso nos leva a concluso de que nem todo o software gratuito pode ser considerado livre.
MOVIMENTO GNU
O Projeto GNU foi lanado em 1984 para desenvolver o sistema operacional GNU, um sistema
operacional completo que respeita a sua liberdade.
Os sistemas operacionais GNU so construdos a partir de uma coleo de aplicativos de
software, bibliotecas e ferramentas de desenvolvedores e de mais um programa para alocar
recursos e falar com o hardware, conhecido como kernel.
GNU freqentemente usada com o kernel chamado Linux. O Hurd, que o kernel do GNU, est
sendo desenvolvido ativamente, mas ainda est muito longe de estar pronto.
A combinao de GNU e Linux torna-se o sistema operacional GNU/Linux, por vezes
incorretamente chamado simplesmente de "Linux".
O nome "GNU" um acrnimo recursivo para "GNU No Unix!".
LICENAS LIVRES
SENAC-RR/2011
GNOME
O projeto GNOME foi iniciado em 1997
por dois estudantes universitrios, em
seguida, Miguel de Icaza e Federico Mena.
Seu objetivo: produzir um ambiente de
trabalho livre (como em liberdade).
Desde ento, o GNOME tem crescido em
uma empresa de enorme sucesso.
Utilizado por milhes de pessoas em todo
o mundo, o ambiente de desktop mais
popular para o GNU / Linux e sistemas
Figura 2 - Gnome
UNIX-type operacional. O desktop tem
sido utilizado em sucesso, empreendimento de grande escala e implantaes de pblico, e as
tecnologias do projeto desenvolvedor so utilizados em um grande nmero de dispositivos
mveis mais populares.
KDE
O KDE Community uma equipe
internacional de tecnologia dedicada a criar
uma experincia de computao livre e userfriendly, oferecendo uma rea de trabalho
grfica avanada, uma ampla variedade de
SENAC-RR/2011
Figura 3 - KDE
aplicaes para comunicao, educao, trabalho e entretenimento e uma plataforma para criar
facilmente novas aplicaes em cima. Temos um forte foco na busca de solues inovadoras para
problemas antigos e novos, criando uma atmosfera vibrante e aberta para a experimentao.
Figura 4 - Console
PRINCIPAIS DISTRIBUIES
DEBIAN
acesso s verses mais recentes de todos os pacotes, mas sem garantia de estabilidade. Um
nmero surpreendentemente grande de usurios utiliza o unstable (ou distribuies baseadas
no repositrio) em seus desktops, mas ele no , naturalmente, uma boa opo de uso em
servidores. Afinal, em um servidor no te interessa ter instalada a ltima verso do Apache,
Squid ou Samba, mas sim uma verso que funcione e no tenha brechas de segurana. :)
Novas verses estveis do Debian so lanadas a cada 18 a 24 meses, o que acaba sendo mais um
ponto positivo, j que voc no precisa atualizar seus servidores to frequentemente. Dentro
deste tempo, voc recebe as atualizaes de segurana, que so o que realmente importa no caso
dos servidores.
UBUNTU
A utilizao do Ubuntu tem crescido bastante nos servidores. Embora ele ainda seja considerado
menos estvel que o Debian, a diferena vem diminuindo a cada nova verso.
Para incio de conversa, o Ubuntu uma distribuio derivada do Debian, que preserva a maior
parte de suas caractersticas. Os repositrios do Ubuntu so construdos a partir do repositrio
unstable do Debian. Os pacotes recebem correes diversas e so recompilados, gerando o
repositrio "universe" do Ubuntu.
O Ubuntu segue um cronograma muito mais apertado que o do Debian, com novas verses sendo
laadas a cada 6 meses. O mais parecido com as verses estveis do Debian, so as verses LTS
(long term support), como o Ubuntu 8.04. Originalmente, as verses LTS receberiam 18 meses
de atualizaes de segurana, mas a partir do 8.04 a Canonical aumentou a oferta para nada
menos do que 5 anos de atualizaes, um perodo intencionalmente maior do que o oferecido
pela equipe do Debian.
Alm da verso "desktop" do Ubuntu, est disponvel tambm uma verso especfica para
servidores, que utilizaremos aqui. Ambas so baseados nos mesmos repositrios, a diferena
que a verso desktop instala o Gnome e outros aplicativos grficos e no inclui os pacotes
destinados a servidores, enquanto a verso server justamente o oposto: instala um sistema
enxuto, sem o ambiente grfico e inclui um conjunto bem completo de pacotes destinados a
servidores na imagem.
RED HAT
Para quem est chegando agora, o Red Hat Linux foi uma das primeiras distribuies Linux a
conquistar um grande pblico. A primeira verso foi lanado em 1994 e o sistema conseguiu
ganhar espao tanto entre os desktops (devido relativa facilidade de uso) quanto entre os
servidores, devido boa estabilidade do sistema. O Red Hat Linux foi descontinuado em 2004,
dando lugar ao Fedora, que desenvolvido de forma colaborativa e s diferentes verses do Red
Hat Enterprise (tambm chamado de RHEL), a verso comercial do sistema, destinada a grandes
empresas.
RHEL
O Red Hat Enterprise possui um ciclo de desenvolvimento mais lento (que prioriza a
estabilidade) e tem suas verses suportadas por um perodo de nada menos do que 7 anos aps
o lanamento. Para quem est acostumado com o rpido ritmo de desenvolvimento das
distribuies Linux domsticas, um sistema que suportado por 7 anos pode soar estranho, mas
dentro do ramo corporativo este um diferencial importante, j que atualizar os desktops e os
SENAC-RR/2011
CENTOS
O CentOS uma verso gratuita do Red Hat Enterprise, gerado a partir do cdigo fonte
disponibilizado pela Red Hat e mantido de forma bastante competente por um grupo de
desenvolvedores, que combina representantes de diversas empresas que utilizam o sistema
(sobretudo empresas de hospedagem) e voluntrios.
Ele , basicamente, uma verso gratuita do RHEL, que possui um excelente histrico de
segurana e conta com uma boa estrutura de suporte comunitrio e atualizaes pontuais de
segurana, qualidades que o tornam uma das distribuies Linux mais populares em servidores,
sobretudo em servidores web.
Se voc est interessado na estabilidade do Red Hat Enterprise, ou precisa rodar softwares como
o Oracle, que so suportados apenas nele, mas no tem como pagar caro pelo sistema, o CentOS
a sua melhor opo.
PADRONIZAO LSB
O Linux Standard Base (LSB) um projeto conjunto por vrias distribuies Linux sob a
estrutura organizacional da Fundao Linux para padronizar a estrutura do sistema de software,
incluindo a hierarquia do sistema de arquivos, usado com o sistema operacional Linux. O LSB
baseado na especificao POSIX, o Single UNIX Specification, e vrios outros padres abertos,
mas
estende-los
em
certas
reas.
De acordo com o LSB:
O LSB especifica, por exemplo: bibliotecas-padro, uma srie de comandos e utilitrios que
estendem o padro POSIX, o layout da hierarquia do sistema de arquivos, nveis de execuo, o
sistema de impresso, incluindo spoolers como CUPS e etc.
SENAC-RR/2011
SENAC-RR/2011
LAYOUT DE PARTICIONAMENTO
Vamos assumir que voc est criando um sistema de arquivos em um equipamento com, ao
menos, um disco rgido e que voc deseja iniciar o computador a partir desse disco durante o
processo de instalao. Um particionamento inadequado pode prejudicar o funcionamento do
sistema instalado. Contudo bom saber que possvel alterar o lauout do particionamento
depois do sistema instalado, porm isto exige trabalho extra e muita ateno, portanto
importante fazer boas escolhas logo de inicio.
Descrio
Comandos essenciais
Arquivos estticos para boot do Linux
Arquivos para dispositivos
Configurao especifica do equipamento
Bibliotecas compartilhadas e mdulos do kernel
Ponto de acesso para mdias removveis
Ponto de acesso para sistemas de arquivos temporrios
SENAC-RR/2011
Opt
Sbin
Srv
Tmp
Usr
Var
O FHS mantido pela Linux Foundation, uma organizao sem fins lucrativos compostos por
software e grandes fornecedores de hardware, como HP, Red Hat, IBM e Dell.
DECIDINDO O PARTICIONAMENTO
Inicialmente devemos nos assegurar de que seu computador ser capaz de inicializar
normalmente. Em sistemas mais antigos h uma limitao na Bios que impede o boot quanto os
arquivos de inicializao do sistema operacional (neste caso /boot/vmlinuz e /boot/inittrd)
esto alocados acima de 1024 cilindros no disco rgido. Se voc possui um equipamento assim,
criar uma partio /boot para alocar os arquivos essencial.
Sua prxima preocupao a criao de uma partio para swap (equivale ao arquivo de troca
do Windows). Inicialmente era comum alocar duas vezes a quantidade de memria RAM do
equipamento, mas com os preos dos pentes de memria , utilizar valores de 512 MB para
estaes e 1GB para servidores mais do que adequado a menos em necessidades especificas
como em um servidor para bases de dados ou algo parecido.
Deste ponto em diante a definio do particionamento deve levar em considerao a finalidade
do equipamento. Para estaes de trabalho a criao de uma partio / com todo o sistema
operacional indicado para iniciantes, porm, recomendamos separar os dados dos usurios em
uma partio especifica /home. O uso do disco de instalao deste tipo ocupa, em mdia de 2GB
a 3GB de espao em disco para o sistema operacional, porem difcil prever como ser o
crescimento desta instalao e quais programas adicionais sero instalados. Em um disco de
20GB recomendvel adotar um tamanho mnimo de 10GB para a partio / e o resto para
dados de usurios. Caso seu disco seja maior, aumente o tamanho da partio /, no sendo
necessrio que ela ocupe 50% de seu disco. Abaixo temos um particionamento recomendado
para uma estao de trabalho em um disco com HD de 40GB.
Partio
/boot
/
/home
swap
Tamanho
64 MB (no ocupar mais do que 30MB j com atualizaes)
12 GB (logo aps a instalao ocupar cerca de 1,5 GB)
27 GB (vamos deixar os usurios gravarem seus dados)
1 GB
Quando falamos de servidores, falta de espao em disco pode ser catastrfico. Definir seu
particionamento deve levar em considerao quais servios sero providos pela maquina. Sendo
que abaixo uma lista de diretrios e possveis usos:
Diretrio
/boot
/
swap
/home
Descrio
Arquivos de inicializao
Sistema operacional bsico
Paginao em disco
Dados de usurios (serv arq) ou caixas postais de email
SENAC-RR/2011
/usr
/srv
Ambiente grfico
Dados de servidores web e ftp
GERENCIADOR DE INICIALIZAO
LILO LINUX LOADER
Um gerenciador de boot que nasceu com o Linux propriamente dito, pode ser instalado no
registro mestre de inicializao (Master Boot Record MBR) ou no setor de inicializao de uma
partio (Boot Sector Initializer BSI). Pode ser instalado, ainda, em dispositivos removveis
como disquetes, cds ou dispositivos USB.
O LILO permite o uso de at 16 combinaes diferentes para inicializao bem como a
inicializao de sistemas operacionais diferentes como Linux, Windows, BSD e outros. Devido
sua construo, o LILO oferece certa flexibilidade de opes na inicializao do Linux,
permitindo alterar o nvel final de inicializaes de texto para grfico ou vice-versa ou ainda
acessar o Linux em modo mono usurio. Sua configurao armazenada no arquivo
/etc/lilo.conf e deve ser gravada na MBR ou BSI sempre que for executando-se o comando lilo.
INSTALANDO O DEBIAN
Ao dar boot pelo CD, tudo comea com o prompt inicial, onde voc pode passar comandos ao
instalador, ou simplesmente pressionar Enter para iniciar a instalao utilizando as opes
padro:
SENAC-RR/2011
Voc pode ver as opes e instrues de boot pressionando as teclas de F1 a F10. Por exemplo,
ao instalar o sistema em uma mquina com problemas no suporte ACPI, que faam o instalador
travar ao carregar o Kernel, logo no incio da instalao, voc poderia usar a opo:
install noapic nolapic
Caso eventualmente a placa de vdeo no suporte frame buffer, voc poderia desativ-lo, fazendo
com que o instalador utilize o modo texto CGA padro utilizando a opo:
install fb=false
Existe ainda a opo de instalar usando o novo instalador grfico, disponvel a partir do Etch.
Para ativ-lo, voc usaria a opo:
installgui
Dentro do instalador, use as setas e a tecla <TAB> para navegar entre as opes, <Espao> para
selecionar e <Enter> para confirmar. A primeira pergunta sobre a linguagem. Ela importante,
pois determina toda a localizao do sistema, incluindo desde as configuraes regionais, at a
linguagem padro dos programas e dos arquivos de ajuda. Escolhendo o Portugus do Brasil, o
teclado fica pr-selecionado como "br-abnt2" na opo seguinte.
SENAC-RR/2011
Ao instalar a partir da imagem netinst, essencial configurar a rede logo no incio da instalao,
do contrrio o sistema no ter da onde baixar os pacotes :). Se voc possui um servidor DHCP
na rede, o instalador obtm as configuraes automaticamente a partir dele. Se voc prefere
configurar a rede manualmente, use a opo "Cancelar", disponvel neste ponto, ou use a opo
de boot "install netcfg/disable_dhcp=true" na tela de boot.
Veja que para utilizar a instalao via rede voc precisa de uma conexo de rede local, via cabo
(onde basta obter a configurao da rede via DHCP), ou mesmo via ADSL, com o modem
configurado como roteador. Como o instalador no possui suporte a PPPoE, ou a placas wireless,
no possvel fazer a instalao via rede se voc acessa via ADSL com autenticao ou wireless.
Nesse caso, a melhor opo usar outra mquina para conectar e compartilhar a conexo,
configurando o instalador para acessar atravs dela.
Continuando, o instalador pede que voc defina um nome para a mquina e indique o domnio.
Se voc no utiliza um domnio na sua rede local, nem est configurando um servidor web, pode
usar o "localdomain" por enquanto.
PARTICIONAMENTO
A pergunta seguinte sobre o particionamento. Ao contrrio de um desktop, onde comum
configurar o dual-boot com o Windows ou com outra distribuio, em um servidor voc
normalmente vai reservar todo o disco para a instalao do sistema e instalar o grub na MBR.
SENAC-RR/2011
Nesse caso, voc pode usar a opo "Assistido - usar disco inteiro". Veja que tambm existem
opes para particionar manualmente, para usar LVM e tambm para usar LVM criptografado:
Temos ainda o diretrio "/tmp", que muitos tambm preferem manter em uma partio
separada. Os principais motivos so o controle mais completo sobre as permisses de acesso
(evitando brechas de segurana causadas pela incluso ou alterao de arquivos temporrios) e
tambm uma maior proteo contra a possibilidade de algum programa problemtico (ou um
usurio descuidado) salvar um grande volume de arquivos no diretrio "/tmp" e acabar
deixando o servidor sem espao em disco.
Se voc est comeando, eu pessoalmente recomendo que voc utilize uma nica partio, pois
isso reduz a complexidade da instalao e evita que voc precise se preocupar com o espao
disponvel em cada partio mais adiante. Se, por outro lado, voc se convenceu das vantagens
de utilizar parties separadas, pode usar a opo "Parties home, /usr, /var e /tmp
separadas":
Ao contrrio do Ubuntu, no Debian no utilizado o sudo (embora ele possa ser habilitado
manualmente), de forma que voc utiliza o sistema tradicional, logando no sistema como usurio
e utilizando o comando "su -" quando precisar utilizar a conta root.
Em seguida o instalador pergunta sobre o "espelho de rede", ou seja, pergunta se voc deseja
ativar o uso de um repositrio de onde o sistema pode baixar os pacotes a serem instalados. Se
voc est instalando a partir do netinst, importante responder "Sim" aqui:
Nas perguntas seguintes, o instalador permite que voc escolha qual mirror utilizar. Temos bons
repositrios aqui no Brasil, com destaque para o "linorg.usp.br", "ftp.pucpr.br" e o
"ftp.br.debian.org", que o mirror oficial.
Voc tem tambm a tradicional opo de configurar o acesso via proxy. Na grande maioria dos
casos, voc simplesmente deixa o campo em branco, permitindo que o instalador acesse a web
diretamente. Entretanto, em muitas empresas todo o acesso centralizado em um servidor
proxy, que loga os acessos e faz cache das pginas e arquivos requisitados. Nestes casos, ou voc
no utiliza o proxy, ou no acessa a rede :).
Em seguida, chegamos ao ponto alto da instalao, que a seleo das categorias de pacotes a
instalar. Veja que alm da opo "Ambiente Desktop", quem inclui o ambiente grfico e
aplicativos gerais, temos tambm as opes de instalar servidores web, servidores de impresso,
SENAC-RR/2011
servidores DNS e assim por diante. A opo "Laptop" instala o powernowd e outros servios e
scripts relacionados ao gerenciamento de energia e suporte a hibernao.
Como a idia fazer uma instalao enxuta, mantenha todas as opes desmarcadas, com
exceo da "Sistema bsico". Se voc pretende compartilhar impressoras com a rede, marque
tambm a opo "Servidor de impresso" (que instala o servidor cups e os pacotes com os
drivers necessrios).
Ao reiniciar o sistema, voc saudado com a famosa e amada tela de login em modo texto:
SENAC-RR/2011
SENAC-RR/2011
SISTEMAS DE ARQUIVOS
A preparao do equipamento passa inicialmente pela alocao de espao em disco para
gravao de dados. Neste processo de alocao deve-se levar em considerao o uso final do
equipamento a fim de garantir o espao necessrio para cada fim, por exemplo: pra servidores
de arquivos assim como em equipamentos para uso pessoal normalmente alocamos reas
enormes para dados e arquivos de usurios, em servidores de aplicao a parte destinada
instalao de aplicativos deve ser privilegiada.
O Linux capaz de acessar, ler/gravar vrios tipos de arquivos (formataes), sendo os mais
comumente utilizados:
Sistema de
arquivo
ext2
ext3
ext4
reiserfs
Swap
Proc
Xfs
Nfs
Vfat
Descrio
Usado em parties Linux Nativas para o armazenamento de arquivos. Seu
tamanho deve ser o suficiente para acomodar todo os arquivos e
programas que deseja instalar no GNU/Linux.
Voc dever usar preferencialmente o ext3 para a instalao de seu
sistema operacional.
Sistema de arquivos utilizado como padro na maioria das distribuies
Linux. Possui recursos de journaling (recuperao de falhas) que reduz o
tempo de checagem do sistema em casos de falhas de energia ou reset do
equipamento. sucessor do ext2.
Possui os mesmos recursos do ext3, mas seu design bastante diferente.
Bastante recomendvel para sistemas que possuem muitos arquivos
pequenos (servidor web, etc). Possui o tempo de recuperao em caso de
queda de energia menor que o ext3.
Usado em parties Linux Swap para oferecer memria virtual ao sistema.
Note
que altamente recomendado o uso de uma partio Swap no sistema
(principalmente
se voc tiver menos que 16MB de memria RAM).
Sistema de arquivos do kernel. um espelho dos dados em processamento
na memria do equipamento.
Sistema de arquivos com suporte a journaling desenvolvido pela Silicon e
com melhor suporte a diretrios com grandes quantidades de arquivos.
Possui timo desempenho.
Sistema de arquivos remoto (compartilhamento de rede) sendo acessado
atravs de mapeamento do servidor na mquina local.
Sistema de arquivos utilizado para acesso a mdias (parties ou
disquetes) com formatao fat16/fat32 com suporte a nomes longos.
SENAC-RR/2011
Ntfs
Journaling
O sistema de journaling grava qualquer operao que ser feita no disco em uma rea especial
chamada journal, assim se acontecer algum problema durante alteraes no disco, ele pode
voltar ao estado anterior do arquivo, ou finalizar a operao.
Desta forma, o journal acrescenta ao sistema de arquivos o suporte a alta disponibilidade e
maior tolerncia a falhas. Aps uma falha de energia, por exemplo, o journal analisado durante
a montagem do sistema de arquivos e todas as operaes que estavam sendo feitas no disco so
verificadas. Dependendo do estado da operao, elas podem ser desfeitas ou finalizadas. O
retorno do servidor praticamente imediato (sem precisar a enorme espera da execuo do fsck
em parties maiores que 10Gb), garantindo o rpido retorno dos servios da mquina.
Outra situao que pode ser evitada com inconsistncias no sistema de arquivos do servidor
aps a situao acima, fazendo o servidor ficar em estado single user e esperando pela
interveno do administrador.
ESTRUTURA DE DIRETRIOS
A hierarquia de diretrios utilizada em sistemas Linux em nada lembra a estrutura de outros
S.Os, tendo sido elaborada no desenvolvimento dos sistemas POSIX na dcada de 60.
Esta estrutura foi idealizada de forma a agrupar recursos semelhantes ou com mesma utilidades
em pontos especficos do sistema, no deixando arquivos perdidos em outros subdiretrios. O
esquema ao lado ilustra a estrutura atual do Linux, podendo ter pequenas variaes entre
distribuies:
SENAC-RR/2011
/
| --bin
| --boot
Vamos ver para que server os diretrios, com exemplos de seu uso:
| --dev
/bin
| -- etc
| --home
| --initrd
| --lib
| --mnt
| --opt
| --proc
| --root
| --sbin
/boot
/dev
Todos os dispositivos instalados no seu computador necessita de arquivos especiais que
mapeiam a sua existncia neste diretrio. Exemplos:
/etc
Todas as configuraes utilizadas pelo seu computador e servios normalmente so
armazenados neste diretrio. No deve ser colocado em partio separada. Seu contedo acupa,
em mdia de 10MB a 15MB atualmente. Exemplos:
/home
Diretrios pessoais de cada usurio. Normalmente todo usurio possui um diretrio pessoal com
o mesmo nome de seu login no servidor. Em servidores de arquivos comum alocar esta pasta
em uma partio ou disco separado.
/lib
Bibliotecas dinmicas compartilhadas, necessrias ao funcionamento bsico de quase todas as
aplicaes Linux, alm dos mdulos do kernel.
SENAC-RR/2011
/opt
Destinado a acomodas programas desenvolvidos por terceiros e que normalmente no fazem
parte das distribuies Linux, caso do Acrobat Reader, do StarOffice e alguns outros aplicativos.
/proc
Diretrio utilizado para acessar o sistema de arquivos com informaes do estado de
processamento de sua mquina. Os arquivos aqui no esto fisicamente em seu hd mas sim em
reas protegidas da memria, sendo que alguns destes arquivos podem ser alterados de forma a
modificar o funcionamento do seu sistema Linux. Exemplos:
/root
Diretrio pessoal do usurio root. Assim como /etc, no deve ser alocado em uma partio
separada.
/sbin
Arquivos executveis destinados inicializao do equipamento bem com para administrao,
acrescentando funcionalidades aos aplicativos existentes em /bin. Exemplos:
/sys
Assim como o /proc um sistema de arquivos virtual que tende a substitui-lo provendo novos
recursos e funcionalidades. Aqui encontramos uma estrutura de diretrios que mostra os
recursos instalados em seu equipamento.
/tmp
Arquivos temporrios criados por aplicativos iniciados por qualquer usurio ou por servios
disponveis no computador. Normalmente estes arquivos so removidos automaticamente ao
trmino da aplicao, porm, caso algum arquivo no seja removido, apenas o usurio criador ou
o root podero remov-los.
/usr
Estrutura secundria de diretrios replicando toda a estrutura original. Inicialmente foi utilizada
como local de instalao para programas que no faziam parte da distribuio original. A
inteno pata sua criao que qualquer novo aplicativo ou servio que seja instalado no cause
conflito com os recurso existentes, podendo ser facilmente removidos sem afetar a estrutura
original.
/var
Dados variveis resultantes de aplicaes em uso com cache de instalao se programas ou de
acesso Internet, arquivos de controle de processos em memria como em /var/run/pid.
SENAC-RR/2011
INSTRODUO AO SHELL
O shell um mdulo que atua como interface usurio - sistema operacional, possuindo diversos
comandos internos que permitem ao usurio solicitar servios do sistema operacional. O shell
tambm implementa um linguagem simples de programao que permite o desenvolvimento de
pequenos programas (os famosos shell scripts).
Todo o ambiente de trabalho no Linux controlado por variveis de ambiente. Estas variveis
controlam desde quais diretrios so pesquisados procura de programas (PATH) at o
tamanho da tela (nmero de linhas e colunas visveis), modificando o comportamento dos
programas que adequam suas telas ao novo tamanho do terminal.
VARIVEIS
Uma varivel um nome, definido pelo usurio (sem acentos, espaos ou smbolos) que
armazena um valor em memria RAM. Seu contedo pode ser uma string (texto) ou um nmero.
Uma varivel pode ser criada assim:
#MENSAGEM=ol
Este comando associa a string ol rea de memria identificada como MENSAGEM. Esta rea
de memria pose ser consultada a qualquer momento no shell corrente porm, da forma como
criada, no poder ser utilizada em outros programas.
A consulta a uma varivel realizada pelo comando echo, precedendo o nome da varivel com $,
assim;
# echo $MENSAGEM
ol
Uma varivel pode ser removida da memria com o comando unset:
# unset MENSAGEM
Alguns pontos a observar na criao de variveis que na sua atribuio NO devem existir
espaos antes ou depois do sinal de igual e seu contedo, quando for um texto, deve ser
envolvido por (aspas).
SENAC-RR/2011
VARIVEIS DE AMBIENTE
As variveis de ambiente j esto disponveis quando o usurio faz o login no terminal.
Exemplos:
# env
LESSKEY=/etc/.less
LC_PAPER=pt_BR
LC_ADDRESS=pt_BR
LC_MONETARY=pt_BR
HOSTNAME=localhost
TERM=xterm
SHELL=/bin/bash
()
As variveis de ambiente podem ser utilizadas por qualquer programa que as consulte, sendo
definidas como variveis de abrangncia global. Uma varivel que seja criada com os
procedimentos vistos no inicio so consideradas de abrangncia local, no podendo ser
consultadas por qualquer outro programa alm do shell onde foram criadas.
Exportar uma varivel um procedimento to simples como sua criao e essencial para que
seja til ao sistema. Vamos, inicialmente, criar uma varivel simples e consult-la em um novo
shell.
# MENSAGEM=posso ver esta mensagem
<- criao da varivel
# echo $MENSAGEM
<- consulta a varivel local
Posso ver esta mensagem
#bash
<- iniciando um novo shell
#echo $MENSAGEM
<- consulta a varivel local
<- contedo no est disponivel
#exit
#
<- voltando ao shell anterior
Definindo a varivel e exportando-a permite que outros programas como o novo shell tenham
acesso a ela:
# MENSAGEM=posso ver a mensagem
# export MENSAGEM
# echo $MENSAGEM
Posso ver a mensagem
# bash
# echo $MENSAGEM
Posso ver a mensagem
# exit
#
SENAC-RR/2011
A partir da execuo do comando export, todo e qualquer novo programa que consulte o
ambiente do usurio poder utilizar esta varivel e ser contedo.
Uso
Arquivo global que define variveis exportadas para todos os usurios do
sistema como PATH e ainda define o comportamento de vrios aplicativos.
Arquivo global, define macros disponveis para todos os usurios como ls
alterada para sada colorida.
Arquivo pessoal que permite a personalizao de variveis como o PATH, o
prompt de comando do usurio.
Arquivo pessoal que permite a criao de macros personalizados como a
listagem automtica dos logs do sistema ou atalhos para comandos
complexos repetitivos.
Arquivo pessoal executado no logout do usurio, normalmente tem um
comando clean, mas pode ser alterado para incluir o backup de dados
importantes.
Descrio
Caminho de pesquisa procura de comandos para executar
Diretrio pessoal do usurio logado
Nome de login do usurio logoda, pode ser utilizado ainda LOGNAME e
USERNAME disponvel por compatibilidade
Idioma preferencial
Localizao atual, mesma sada do comando pwd
Localidade definida na instalao, alterando a visualizao de nmeros, data
hora e outros.
Indica o diretrio temporrio
Define o comportamento do prompt de comandos
Nmero de comandos armazenados do prompt de comandos
SHELL SCRIPTS
No Linux muitos comandos e utilitrios disponveis so scripts que permitem a soluo de
problemas especficos de forma simples, rpida e eficiente. Neste tpico sero vistos os
fundamentos de como so criados os scripts em shell, da mesma forma que um administrador
em outra plataforma deve ser capaz de criar pequenos arquivos bat.
SENAC-RR/2011
Um script nada mais do que um arquivo texto com os comandos que so executados no prompt
de forma encadeada onde, logo aps um comando o seguinte executado. Crie o seguinte
arquivo com o nome de teste.sh.
# script de teste est linha um comentrio e no ser executada
Echo Script de teste
Date
Pwd
Para executarmos este script iremos a um shell que interprete. Depois vamos dar permisso de
execuo e testar novamente.
# sh teste.sh
Script de teste
Seg Jul 04 05:44:47 BRT 2011
/root
O mesmo resultado pode ser obtido se atribuirmos permisso de execuo ao script.
# chmod +x teste.sh
# ./teste.sh
ESTRUTURA DE UM SCRIPT
Todo script deve ter uma estrutura inicial com informaes sobre como ser executado, seu
autor, seu uso e um histrico de mudanas ocorridas ao longo do tempo. Este cabealho inicial
no obrigatrio, mas recomendado que fosse colocado em seus scripts para facilitar a
identificao futura de como ele foi construdo ou por que e por quem foi modificado. Um
exemplo desta estrutura pode ser vista abaixo:
#!/bin/bash
#
# nome_do_script.sh Descrio simples de sua funo
#
# Autor: Quem o fez email@decontado.com.br
#
# Este programa recebe tais parmetros e executa tais tarefas
# retornando tais informaes ou fazendo tais procedimentos.
#
# Exemplos:
# $ ./nome_do_script.sh parmetro
# Resultado
#$
# Histrico:
# 18-05-1999, Joo da Silva
# - Verso inicial realizando tal tarefa
# Definio de variveis utilizadas pelo script
SENAC-RR/2011
VAR1=
VAR2=
VAR3=
<comandos do script>
SHELLS DE EXECUO
O Linux conhecido pelo grande nmero de interpretadores (shells) disponveis. Entre os mais
comuns temos:
Shell
sh
bash
Ksh
Zsh
Csh
Descrio
Boune Shell, simples e encontrado em todos os Linux/Unix.
Bourne Again Shell, mais elaborado que o sh, o shell padro em quase todas as
distribuies Linux atualmente.
Korn Shell, o shell padro dos sistemas Unix System V possui uma
implementao livre no Linux: o pdksh.
Z shell similar ao ksh com muitos recursos adicionais.
C Shell, criado no BSD possui sintaxe diferente do bash. O tcsh uma verso
melhorada do csh.
Devido a esta variedade, ao criar um script necessrio definir qual ambiente deve ser
executado. A primeira linha de um script deve ser uma diretiva de execuo informando ao
Linux que determinado shell deve ser carregado e que os comandos do script devem ser
executados dentro dele. Isto garante que o funcionamento do script ser o mesmo, em qualquer
distribuio, em qualquer verso. Esta diretiva aparece abaixo e deve ser a primeira linha do
script.
#!/bin/bash
Descrio
Parmetros informados na linha de comando
Todos os parmetros informados na linha de comando
Nmero de parmetros passados na linha de comando
Nome com o qual o script foi acionado
#!/bin/bash
echo $
Caso seja necessrio criar um script que receba vrios parmetros pela linha de comando e
execute seus comandos para cada parmetro informado voc precisar rotacionar os dados
informados com o comando shift. Veja:
#!/bin/bash
echo $*
shift
echo $
shift
echo $
CONSTRUO CONDICIONAL
Todo script executa funes de forma sequencial em um roteiro pr-definido. Porm possvel
que determinadas aes sejam executadas apenas quando uma ou mais condies especificas
sejam satisfeitas. Este o caso de se utilizar a estrutura condicional:
if [condio] then
comando
fi
Todo comando executado em um terminal retorna o cdigo 0 (zero) quando bem sucedido e um
cdigo diferente de zero quando ocorrem problemas. Desta forma os testes de validao em
scripts consideram o valor zero como teste bem sucedido ou verdadeiro.
As condies de teste possveis em um script para verificao de arquivos so:
Teste
-d NOME
-e NOME
-f NOME
-h NOME
-L NOME
Descrio
Testa se NOME existe e um diretrio
Testa se NOME existe
Testa se NOME existe e um arquivo
Testa se NOME existe e um symlink.
Descrio
Testa se o comprimento da STRING zero.
Testa se o comprimento da STRING no zero.
Testa se as STRINGs comparadas so iguais.
Testa se as STRINGs comparadas so diferentes.
Descrio
Nmero X igual a Y
Nmero X maior ou igual a Y
SENAC-RR/2011
X gt Y
X le Y
X lt Y
X ne Y
SENAC-RR/2011
Enquanto o lao while testa uma condio at que ela se torne falsa, o lao for executa um bloco
de comandos para cada um dos elementos informados.
#!/bin/bash
for i in `seq 10`; do
echo item: $i
done
until
Este comando similar ao funcionamento do while, porm o tipo de teste realizado deve ser de
adaptado.
#!/bin/bash
CONTADOR=O
until [ $CONTADOR gt 10 ]; do
echo Contagem: $CONTDOR
let CONTADOR=CONTADOR+1
done
Usando funes em scripts
Quando uma parte de seu script deve ser executado de forma repetitiva em trechos alternados,
ao invs de copiar o mesmo cdigo vrias vezes, podendo criar uma funo que executa sempre
que necessrio, recebendo um parmetros informados dentro do prprio script. Uma funo
pode ser chamada dentro de outra, um exemplo deste uso pode ser uma pausa no script abaixo
utilizado para verificao de logs.
#!/bin/bash
separador() {
for i in `seq 72`; do
echo n =
done
}
espera() {
separador
echo e \nPressione Enter para continuar ou <ctrl>+<c> para sair
read
}
# Executa um loop infinito
while true; do
tail n 5 /var/log/messages
done
SENAC-RR/2011
PERMISSES E PROPRIEDADES DE
ARQUIVOS
Cada arquivo e diretrio em um sistema Linux possui um conjunto de permisses e
propriedades integradas a ele. atravs disso que o sistema sabe quem pode mexer em qual
arquivo, quando o arquivo foi modificado etc.
Neste artigo falarei sobre como distinguir nveis e tipos de permisso em arquivos e diretrios,
utilizar os comando chmod e chown para modificar propriedades e permisses, distinguir os
modos octal e textual para os parmetros dos comandos de mudana de permisses, entender o
que mscara de um arquivo e como modific-la, entender e utilizar permisses especiais, como
stick bit e suid bit.
CONCEITO DE PERMISSO
O Linux um sistema multi-usurio. necessrio ter uma conta de acesso para utiliz-lo.
Alm da autenticao para acesso ao sistema, uma outra funcionalidade relativa aos conceitos de
usurios e grupos o de permisses de arquivos, onde definido quem pode acessar bem como
quais arquivos e diretrios.
O sistema que arquivos do Linux possibilita que sejam atribudos direitos de acesso
diferenciados para os usurios do sistema. A cada arquivo ou diretrio do sistema associado
um proprietrio, um grupo e seus respectivos direitos de acesso, ou permisses.
Cada arquivo/diretrio possui trs nveis de permisso:
1) usurio dono - tambm chamado de "owner", o proprietrio do arquivo/diretrio;
2) grupo dono - o grupo proprietrio do arquivo/diretrio. O grupo pode conter um
usurio (geralmente o usurio dono) ou vrios usurios;
3) outros - aplica-se a qualquer outro usurio, que no se encaixa nos nveis anteriores.
E para cada nvel de permisso, existem trs tipos de permisso:
1) leitura (r) - permisso para visualizar o contedo do arquivo, simbolizada por "r" (do
ingls read).
2) escrita (w) - permisso para alterar o contedo do arquivo, simbolizada por "w" (do
ingls write).
3) execuo (x) - permisso para executar o arquivo, simbolizada por "x" (do ingls
execution).
A combinao dos nveis de permisso com os tipos de permisso forma o conjunto de
propriedades para cada arquivo ou diretrio.
Estas propriedades so atribudas com o objetivo de determinar quem pode acess-lo, ler seu
contedo ou mesmo executar algum programa.
SENAC-RR/2011
Para visualizar as propriedades de um arquivo, pode-se utilizar o comando "ls -l", que listar os
arquivos do diretrio atual com uma srie de informaes adicionais, incluindo colunas com o
tipo do arquivo e permisses, nome do usurio e do grupo donos do arquivo.
Veja o exemplo abaixo:
#ls l
-rw-r--r--rw-------rw-r--r--rw-r--r--rw-r--r--rw-r--r-drwx-----drwx-----#
1
1
1
1
1
1
2
2
Root
Root
Root
Root
Root
Root
Root
Root
root
root
root
root
root
root
root
root
145
61
24
106
226
233
4096
4096
Jun
Jun
Jun
Jun
Jun
Jun
Mai
Jun
2005
09:55
2005
2005
2005
2005
20:31
17:48
.bash_completion
.bash_history
.bash_logout
.bash_profile
.bashrc
.cshrc
drakx/
.ssh/
A parte desta listagem que nos interessa aqui a primeira coluna. Aqui vemos os tipos mais
comuns, arquivos e diretrios. Os tipos de arquivos esto descritos na seguinte tabela:
TIPO
B
C
D
L
S
P
DESCRIO
Arquivo comum
Dispositivo de bloco (armazenamento)
Dispositivo de caracter (serial)
Diretrio
Link simblico
Socket de comunicao entre processos
Pipe de comunicao entre processos
A primeira coluna (da esquerda para a direita) a que contm todas as permisses; a segunda
indica os links diretos do arquivo, a terceira e quarta colunas especificam o nome do usurio e
grupo ao qual pertencem o arquivo. As demais colunas mostram informaes adicionais sobre o
arquivo.
Na primeira coluna, mostrado um vetor com espao para 10 caracteres. O primeiro identifica o
tipo do arquivo, enquanto que os outros 9 so o conjunto de trs permisses para cada um dos
trs nveis (usurio, grupo e outros, respectivamente).
TEXTUAL
No modo textual, utilizam-se os caracteres "u" para representar o usurio dono do arquivos, "g"
para grupo dono do arquivo e "o" para outros, com um sinal de mais (+) para adicionar a
permisso e menos (-) para remover. Veja o exemplo genrico a seguir (os detalhes do comando
chmod sero vistos mais adiante):
SENAC-RR/2011
OCTAL
No formato octal, as permisses so representadas por nmeros na base octal, onde leitura
representado pelo valor 4, a escrita por 2 e execuo por 1. Somando-se os valores obtem-se a
permisso desejada para cada nvel. Exemplo:
$ chmod 640 arquivo.txt
Configura a permisso de arquivo.txt como sendo 640: 6 = leitura(4) + escrita(2) para o usurio
dono, 4 = leitura para o grupo e 0 (nenhuma permisso) para outros.
importante lembrar que o usurio root tem permisses ilimitadas, ou seja, ele poder
visualizar ou modificar permisso de qualquer usurio, em qualquer diretrio.
Grupo do arquivo.
SENAC-RR/2011
Operadores
+
Remove permisso(es).
Exemplos:
1) chmod u+rw,g+x documento.txt - concede permisses de leitura e gravao ao dono, e
execuo ao grupo para o arquivo documento.txt. note que somente quem tem permisso pode
executar este comando (root ou dono do arquivo).
2) chmod 610 documento.txt - define permisso de leitura e gravao ao dono (4+2 = rw),
execuo para o grupo (1=x), e nenhuma permisso para qualquer outro usurio (zero).
Importante notar que difere do exemplo anterior, pois na notao textual as permisses podem
ser "adicionadas" s atuais, enquanto que na notao octal, o comando define a permisso do
arquivo.
SENAC-RR/2011
Altera o grupo de arquivo.txt para eduardo. Note que se o usurio no tiver permisses
suficientes, ser mostrada uma mensagem de erro.
Altera o dono do arquivo arquivo2.txt para eduardo e o grupo para eduardo. Lembre-se que
apenas o superusurio (root) pode realizar esta alterao.
SENAC-RR/2011
Altera apenas o grupo para os arquivos ou diretrios indicados. Um usurio comum pode alterar
o grupo de um arquivo caso ele pertena tanto ao grupo de origem como ao grupo de destino. O
super-usurio (root) pode alterar o grupo do arquivo para qualquer grupo vlido no sistema.
equivalente ao comando "chown" somente com o parmetro :grupo (ou seja, sem modificar o
dono do arquivo, somente o grupo).
Principais opes:
chgrp [ opes ] arquivo(s)
Permite que se altere recursivamente a propriedade de grupo de
-R
diretrios e seu contedo.
Permite que o comando use o grupo configurado para "arquivo" para
--reference=arquivo
configurar outros grupos.
Descreve detalhadamente a ao para cada arquivo cuja propriedade
-c
de grupo est sendo alterada.
-f
Fora a mudana de grupo, sem relatrio de erros.
Exemplos:
1) chgrp coisas texto1 texto 2 imagens/ - modifica o grupo associado aos arquivos texto1
texto2 e ao diretrio imagens, associando-os ao grupo coisas. Note que o usurio dever ter as
permisses suficientes para esta modificao, caso contrrio ser mostrada uma mensagem de
erro.
2) chgrp -R empregados comercial/ - modifica o grupo associado ao diretrio comercial e
todos os seus arquivos e sub-diretrios, associando-os ao grupo empregados.
PERMISSES EM DIRETRIOS
Para diretrios, as permisses possuem um significado ligeiramente diferente.
Para compreender mais facilmente os conceitos, basta imaginar um diretrio como se fosse "um
arquivo que contem outros arquivos", pois na verdade um diretrio um arquivo do tipo
diretrio.
SENAC-RR/2011
Em Diretrio
Permisso para visualizar o contedodo diretrio (ou seja,
listar seu contedo, utilizando um comando como o ls).
Permisso para alterar o contedo do diretrio (ou seja,
criar ou remover arquivos nele contidos).
Permisso para acessar o diretrio (atravs do comando
cd, por exemplo).
Exemplos:
1) Um diretrio que tenha permisso 755, permite que seu dono faa qualquer alterao,
mas outros usurios podem apenas acess-lo e ler seu contedo. Nesse modo, cada
arquivo contido no diretrio fica protegido por sua prpria permisso. o modo mais
comum.
2) Um diretrio com permisso 710 tem como caracterstica interessando permitir que
usurios do grupo a quem ele pertence acessem arquivos em seu interior, mas desde que
saibam seu nome, uma vez que a listagem do contedo no permitida.
3) Um diretrio com permisses 744 permite que outros listem seu contedo, mas no
acessem os arquivos. Nesse modo, muito pouco utilizado, apenas os nomes dos arquivos
esto disponveis.
Diretrios tm suas permisses alteradas da mesma forma que arquivos, utilizando o comando
chmod.
PERMISSES ESPECIAIS
Existem algumas permisses especiais de arquivos/diretrios que oferecem funcionalidades
alm das simples permisses de acesso. Os mais importantes cenrios de utilizao esto a
seguir.
SUID
O bit SUID utilizado em arquivos executveis quando se deseja que o programa seja executado
com os privilgios de seu usurio dono.
Isso til em situaes onde um programa precise acessar determinado recurso, mas os
usurios que o utilizam no o possam fazer diretamente.
SENAC-RR/2011
Embora a utilidade do bit SUID seja questionvel, seu uso deve ser feito com muito cuidado, pois
um problema em sua configurao pode ter conseqncias srias de segurana (especialmente
se o SUID for para o usurio root).
O bit SUID representado textualmente por u+s. Por exemplo: $ chmod u+s arquivo_executvel.
Em octal o nmero 4, mas utilizado antes das permisses de dono/grupo/outros. Exemplo:
$ chmod 4755 arquivo_executvel
SGID
O bit SGID tem a mesma funo do bit SUID, mas aplicado ao grupo, ou seja, o programa
executado com os privilgios do grupo a que pertence.
A representao textual do bit SGID g+s; em forma octal utilizado o nmero2, tambm
utilizado antes das permisses de dono/grupo/outros. Exemplos:
$ chmod g+s arquivo_executvel
e
$ chmod 2755 arquivo_executvel
O bit SGID tambm pode ser utilizado em diretrios. Nesse caso, todos os arquivos criados
dentro deste tero como grupo dono o mesmo grupo a que o diretrio pertence.
Stick Bit
O stick bit utilizado em diretrios compartilhados entre vrios usurios, em combinao com
permisses de escrita para estes, onde seja desejvel que usurios no acessem os arquivos por
outros criados.
Em outras palavras, um diretrio com stick bit ativado permite que qualquer usurio crie
arquivos, mas os outros usurios no podero remov-los. Um exemplo do uso do stick bit o
diretrio /tmp.
A representao textual do stick bit atravs do +t e em formato octal atravs do nmero 1,
antes das permisses de dono/grupo/outros. Exemplos genricos:
$ chmod +t diretrio_compartilhado
e
$ chmod 1777 diretrio_compartilhado
SENAC-RR/2011
A umask pode ser de grande utilidade para programas que criam arquivos/diretrios
temporrios, pois desta forma, pode-se bloquear o acesso de outros usurios e a criao de
arquivos, sem precisar recorre ao chmod.
Modifique a umask somente se necessrio. preciso ateno antes de escolher a umask, pois um
valor mal escolhido poder causar problemas de acesso a arquivos, diretrios ou programas no
sendo executados.
Por padro, quando um usurio criado, criado um grupo com o mesmo dome de usurio.
possvel visualizar estar informaes com o comando "id".
O comando chmod no permite a mudana das permisses de links simblicos, ou seja, as
permisses devem ser mudadas no arquivo alvo do link.
possvel copiar permisses de acesso do arquivo diretamente. Por exemplo: se o usurio
digitar chmod o=u, as permisses de acesso dos outros usurios (o) sero idnticas ao do dono
(u).
SENAC-RR/2011
COMANDOS E UTILITRIOS
INICIANDO E REINICIANDO O COMPUTADOR
TROCA DE USURIOS
Veja abaixo os exemplos de shell de root e shell de usurio:
TECLAS DE ATALHO
AJUDA
SENAC-RR/2011
ARQUIVOS E DIRETRIOS
$ touch arquivo
$ stat arquivo
$ cat arquivo
$ stat arquivo
$ echo "ola" > arquivo
$ stat arquivo
Exemplos:
$ mkdir pasta1
$ mkdir -p pasta1/pasta2
ln - Cria links simblicos (atalhos) e hard links (referncia direta) para arquivos e/ou
diretrios
ln [opes] [nome do link]
Opo
Descrio
-s
Cria um link simblico
-d
Cria um link simblico para um diretrio (Ex: ln sd diretorio link)
-f
Fora a criao do link simblico (Ex: ln -sf diretorio link)
Exemplos:
$ mkdir pasta
$ ln -s pasta link
$ ls -l link
$ touch arquivo
$ ln arquivo link2
$ ls -l link2
SENAC-RR/2011
<-divide em partes
menores de 1440k
<- une os arquivos
divididos xaa e xab no
arquivo
pasta_restaurada.tar.gz
file - Exibe o tipo de arquivo, caso seja uma imagem, arquivo binrio, arquivo texto, etc...
Exemplo:
$ file LINUXBRASIL.jpg
$ file arquivo.txt
$ file /usr/bin/passwd
NAVEGAO
-F
/
*
@
~
=
Diretrios
Arquivos executveis (programas e scripts)
links simblicos (atalho para arquivos e diretrios)
arquivos de backup
Sockets (so conexes em uma porta, podendo ter vrias
conexes diferentes por soquete em uma nica porta. Por
exemplo se voc abrir dois programas, cada um deles ter um
soquete diferente, mas escutando conexes na mesma porta)
SENAC-RR/2011
Exemplos:
<- exibe arquivos ocultos com um ponto "."
<- exibe detalhes dos arquivos em /etc
<- exibe o tamanho em K, M ou G dos arquivos em /etc
<- exibe detalhes do diretrio /home
<- exibe linha por linha os arquivos em /etc
<- /etc este diretrio contm links simblicos @
<- /bin este diretrio contm programas executveis *
<- /dev este diretrio contm arquivos de pipe na
cor roxa|
$ ls -F /var/run <- /var/run este diretrio contm arquivos de
soquete com a cor marrom claro
$ ls -a /home
$ ls -l /etc
$ ls -lh /etc
$ ls -ld /home
$ ls -1 /etc
$ ls -F /etc
$ ls -F /bin
$ ls -F /dev
BUSCA DE ARQUIVO
<- compacta
arquivo compactado
<-arquivo descompactado
<- (compacta)
<- (descompacta)
<- (compacta)
SENAC-RR/2011
$ unzip arquivo.zip
<- (descompacta)
METACARACTERES
Os metacaracteres so caracteres reservados com significados especficos no shell do
Linux. Existem dois tipos de metacaracteres, onde so mostrados abaixo:
Curingas
Descrio
?
* (asterstico)
[]
[a-z]
Exemplo 1:
$ touch arquivo1 arquivo2 arquivo3
$ ls arquivo?
$ ls arq*
$ ls arquivo[1-3]
Editores de
expresses
regulares
. (ponto)
?
*(asterstico)
+
[]
[a-z]
^ letra_ou_string
letra_ou_string $
\< letra_ou_string
letra_ou_string \>
{x}
\{x\}
Descrio
Corresponde a qualquer caractere
A string anterior opcional e coincide no maxmo uma vez.
A string anterior coincide zero ou mais vezes
A string anterior coincide uma ou mais vezes
Exibe qualquer um dos caracteres entre colchetes.
Exibe faixa entre caracteres
Exibe um padro letra_ou_string no inicio da linha.
Exibe um padro letra_ou_string no final da linha
Exibe um padro letra_ou_string no inicio da linha
Exibe um padro letra_ou_string no final da linha
A string anterior coincide x vezes.
A string anterior coincide x vezes
SENAC-RR/2011
{x,}
\{x,\}
{,m}
\{,m\}
{x,m}
\{x,m}\
Exemplo 2:
$ cat > nomes
fernando
felipe
ana
andreia
Aperte ENTER
Aperte CTRL+D
ana
andreia
SENAC-RR/2011
ADMINISTRAO DE
SISTEMAS I
SENAC-RR/2011
O editor vi tanto no Unix com no linux serve para criar arquivos de texto, shell scripts e
modifica-los. O editor vi possui dois modos: edio apertando a tecla ( i ) , e o modo comando
apertando ( esc ) , quando iniciamos o vi ele executa em modo comando.
$ vi
ou
$ vi arquivo
aperte i para escrever no arquivo e ESC para sair e executar os comandos
podendo ser: w, q, :, d, x, p e etc.
Comando
: +q
: +q+!
: +w +q
: +w
: +w
: +e
: +r
: +u
X
: + d ou d + d
p
/string
Explicao
Sai sem salvar.
Sai sem salvar forado.
Salva o arquivo atual e sai do vi.
Salva o arquivo atual.
(arquivo1) Salva o arquivo atual como arquivo1.
(arquivo1) Abre o arquivo arquivo1.
(arquivo1) Insere o arquivo no ponto onde est o cursor.
Desfaz a ltima ao.
Apagar o caractere corrente .
Apagar a linha corrente .
Cola a linha corrente .
Localiza padro em todo o texto corrente .
VIM
Tecla
i
<ESC>
:
v
/
R
Rodap
-- INSERT -:
-- VISUAL -/
-- REPLACE --
Descrio
Insero de texto
Comandos de manipulao de texto
Comandos de manipulao arquivo
Seleo visual de texto
Busca de padres no texto
Insero sobreescrevendo
CHAMANDO O VIM
SENAC-RR/2011
vi
vi arquivo
vi arquivo +
vi arquivo +10
vi arquivo +/Linux
SALVANDO/SAINDO DO VIM
<F12>
<- Salva
<- Sai
<- Salva e sai
<- Salva forado
<- Sai forado
<- Salva e sai forado
EDITANDO
Ao entrar no vim, ele est no modo de comandos. Como saber? Olhe no rodap da tela. Nada na
ltima linha.
Para comear a Inserir um texto, aperte "i". Voc ver que aparecer um "-- INSERT --" no
rodap. Agora voc pode digitar seu texto normalmente.
Quer parar para dar uma gravada? Veja o tpico acima. ( <ESC>:w ) chega de editar e quer salvar
e sair? Veja acima de novo. ( <ESC>:wq )
COPIANDO e COLANDO
Usando o mouse:
No modo de Insero mesmo, note que o cursor do teclado (esse tracinho piscando na tela), est
numa posio, e o cursor do mouse (mexa o mouse para que ele se mova) est em outra posio.
Selecione uma parte do texto com o mouse, segurando o boto esquerdo.
Ao colar, o texto selecionado com o MOUSE ser colocado a partir do cursor do TECLADO.
Experimente. Dependendo do mouse, a colagem se faz:
Volte para o modo de comandos ( <ESC> ) e posicione o cursor do TECLADO no lugar onde voc
quer colar o texto selecionado. O comando de colagem o "p" de Paste.
APAGANDO (DELETANDO)
Como no tpico anterior, use o modo visual ( <ESC>v ) para selecionar o texto desejado. Para
apag-lo, digite "d", de Delete. Com o linux no modo texto, a tecla Delete do teclado tambm
funciona para apagar texto. J no X, isso meio relativo.
Descrio
Atualiza
os
nomes
dos
servidores
especificados
/etc/apt/sources.list para atualizao do sistema
Procura pacotes desatualizados no sistema e os instala
Remove pacotes
Instala pacotes
Exemplos:
Atualizando pacotes:
# apt-get update
Procurando pacote:
# apt-cache search pacote
Instalando pacote:
SENAC-RR/2011
em
EXPRESSES REGULARES
Expresso regular um conjunto de expresses que funcionam de forma semelhante as
expresses aritmticas, utilizando operadores para fazer combinaes com expresses
menores.
Existem dois tipos de expresses regulares:
Nome
circunflexo
cifro
[abc]
[a-z]
[^abc]
lista
lista
lista de negao
(abc|aeiou)
ou
a{3}
a{1,3}
a{3,}
Chaves
Chaves
Chaves
a?
a*
a+
Opcional
Asterisco
Mais
.
.*
Ponto
Curinga
Posio
Indica o comeo de linha
Indica o final de linha
Texto
Encontra ocorrncias com as letras a ou b ou c
Encontra ocorrncias com as letras de a z
Encontra ocorrncias que no tenham as letras
de a, b e c
Encontra ocorrncias que tenham as letras de a,
b e c ou as vogais aeiou
Quantidade
Combina a letra a trs vezes
Combina a letra a de 1 3 vezes
Combina a letra a no mnimo trs vezes
Quantidade
Combina a letra a zero ou uma vez
Combina a letra a zero ou mais vezes
Combina a letra a uma ou mais vezes
Curingas
Encontra qualquer caractere
Encontra qualquer coisa
alunos
Projeto Linux Brasil
Aperte ENTER
Aperte CTRL+D
O CIRCUNFLEXO ^
O caractere circunflexo representa um texto no inicio da linha.
Exemplos:
$ grep Linux palavras.txt
Linux
O criador do Linux
No exemplo acima, retornam todas as ocorrncias da palavra Linux.
$ grep ^Linux palavras.txt
Linux
Agora, colocando o ^circunflexo, retorna apenas a primeira linha que comea com a palavra
Linux. Voc tambm pode especificar a string com o caractere dentro de aspas simples ou
duplas.
$ grep '^Linux' palavras.txt
$ grep "^Linux" palavras.txt
O CIFRO $
O caractere cifro representa um texto no final da linha.
Exemplo:
$ grep /bin/bash$ /etc/passwd
root:x:0:0:root:/root:/bin/bash
aluno1:x:1000:1000:aluno1,,,:/home/aluno1:/bin/bash
O COLCHETE []
O colchete ou lista, representa um intervalo de caracteres especificados dentro dos
colchetes, podendo ser nmeros ou letras, por exemplo os nmeros de 0 9 [0-9] e as
letras de a z [a-z], veja o exemplo abaixo:
Exemplos:
Retornam somente as palavras Linux em maisculo
$ grep 'Linux' palavras.txt
Retornam somente as palavras linux em minsculo
SENAC-RR/2011
O PONTO .
O caractere ponto, representa qualquer letra, ou seja, qualquer caractere em uma
determinada posio, podendo ser tambm um nmero, um smbolo, um espao, um TAB,
ou seja, qualquer caractere.
Exemplos:
$ cat palavras.txt
Linux
Linus Tovalds
O criador do
Linux
Seja livre use
Linux
linux
liberdade
alunos
Projeto Linux
Brasil
No exemplo abaixo retorna somente qualquer caractere a partir do comeo da linha que vem
seguido de uma vogal, repare que no retornam as frases "Projeto Linux Brasil" e "O criador
do Linux", pois a letra P de "Projeto Linux Brasil" e a letra O de "O criador de Linux" no vem
seguidas de uma vogal.
Abaixo exibido qualquer caractere seguido de uma vogal.
$ grep '^.[aeiou]' palavras.txt
Linux
Linus Tovalds
Seja livre use Linux
linux
liberdade
Neste exemplo, retornam apenas as palavras com qualquer caractere, vem seguido das
letras inu e que termina com x.
$ grep '^.[inu]*x' palavras.txt
Linux
linux
SENAC-RR/2011
Outro exemplo semelhante ao citado acima, voc usar o ponto para procurar tamanho fixo
de uma string, sem depender de seu contedo.
No exemplo abaixo, retornam apenas as palavras que tem 5 caracteres, onde ^ o incio da
linha e $ o fim da linha.
$ grep '^.....$' palavras.txt
Linux
linux
AS CHAVES { }
Um nmero dentro de chaves representa a quantidade de repeties do caractere anterior.
Exemplos:
Este exemplo semelhante ao anterior, especificando o nmero de caracteres e no
pontos. Observe que foi usado o comando egrep e no grep, pois as chaves { } fazem parte
das expresses regulares estendidas (avanadas).
$ egrep '^.{5}$' palavras.txt
Linux
linux
Para usar o grep teramos que colocar a \ barra invertida antes das chaves, por isso, mais
fcil usar o egrep nestes casos.
$ grep '^.\{5\}$' palavras.txt
Linux
linux
As chaves aceitam um intervalo especificando uma faixa de repeties com um valor
mnimo e mximo.
No exemplo abaixo, retornam as linhas que tenham entre 5 e 9 caracteres.
$ egrep '^.{5,9}$' palavras.txt
Linux
linux
liberdade
alunos
Caso voc no especifique o segundo nmero e mantenha a vrgula, ficar uma faixa infinita
de caracteres.
No exemplo abaixo, sero exibidas as linhas que tm 9 ou mais caracteres.
$ egrep '^.{9,}$' palavras.txt
Linus Tovalds
O criador do Linux
Seja livre use Linux
liberdade
SENAC-RR/2011
O OR | (BARRA EM P) (OR)
O caractere pipe | barra em p representa em uma pesquisa para procurar uma coisa ou
outra. O | (OR) deve ser usado dentro de parnteses ( ) e funciona de forma semelhante a
um OR lgico em linguagens de programao, ou seja, exibe o resultado da pesquisa se
encontrar uma das partes da pesquisa.
Exemplos:
Neste exemplo so exibidos as palavras que comeam com palavras Linux ou linux ou
Linus.
$ egrep '^(Linux|linux|Linus)' palavras.txt
Linux
Linus Tovalds
linux
SENAC-RR/2011
OS REPETIDORES ? + *
Os caracteres interrogao (chamado de opcional), o mais e o asterisco so repetidores
que especificam a quantidade e funcionam como as chaves { }.
Caractere
?
+
*
Nome
opcional
mais
asterisco
Equivale
{0,1}
{1,}
{0,}
Significado
Aparece ou no (opcional)
Aparece no mnimo uma vez
Aparece em qualquer quantidade
102
15
111
SENAC-RR/2011
Home
Directory
Path
Shell
SENAC-RR/2011
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
Debian-exim:x:100:102::/var/spool/exim4:/bin/false
statd:x:101:65534::/var/lib/nfs:/bin/false
identd:x:102:65534::/var/run/identd:/bin/false
messagebus:x:103:104::/var/run/dbus:/bin/false
haldaemon:x:104:106:Hardware abstraction
layer,,,:/home/haldaemon:/bin/false
gdm:x:105:109:Gnome Display
Manager:/var/lib/gdm:/bin/false
aluno1:x:1000:1000:aluno1,,,:/home/aluno1:/bin/bash
mysql:x:106:110:MySQL Server,,,:/var/lib/mysql:/bin/false
cupsys:x:107:105::/home/cupsys:/bin/false
User list
Descrio
Nome do grupo
Constitui a senha de gerenciamento do grupo,
no havendo necessidade de preocupar com
ela GID Nmero de identificao do grupo de
usurio
Corresponde a lista de usurios do grupo GID
SENAC-RR/2011
irc:x:39:
src:x:40:
gnats:x:41:
shadow:x:42:
utmp:x:43:
video:x:44:aluno1
sasl:x:45:
plugdev:x:46:aluno1
staff:x:50:
games:x:60:
users:x:100:
nogroup:x:65534:
crontab:x:101:
Debian-exim:x:102:
ssh:x:103:
messagebus:x:104:
avahi:x:105:
netdev:x:106:aluno1
lpadmin:x:107:
haldaemon:x:108:
powerdev:x:109:aluno1
scanner:x:110:
ssl-cert:x:111:postgres
postgres:x:112:
gdm:x:113:
aluno1:x:1000:
dirmngr:x:114:
mysql:x:115:
dba:x:1003:
# /etc/default/useradd
Este arquivo define os valores padres ao criar usurios com o comando useradd, onde pode ser
editado retirando o comentrio " # " das linhas abaixo:
# /etc/default/useradd
SHELL=/bin/sh # especifica o shell do usurio
# GROUP=100 # especifica o GID do grupo do usurio recm
criado
# HOME=/home # especifica o diretrio home do usurio
# INACTIVE=-1 # especifica a quantidade de dias aps a
expirao da senha a conta ser desativada
# EXPIRE= # especifica a data que ser desativada a conta
# SKEL=/etc/skel # SKEL especifica o diretrio que contm os
arquivos "esqueleto" do usurio, em outras palavras, arquivos assim
como o .profile que ser copiado para o diretrio home criado para
novos usurios.
# CREATE_MAIL_SPOOL=yes # Especifica o diretrio de email
enquanto a conta criada.
# /etc/login.defs
Este arquivo configura o controle de definies de login dos usurios
# /etc/login.defs
MAIL_DIR /var/mail
local
DEFAULT_HOME yes
deve ser criado
SENAC-RR/2011
USERGROUPS_ENAB yes
#esta opo habilita o comando userdel
remover usurios e seus grupos existentes
LOGIN_RETRIES 5
# especifica o nmero mximo de tentativas de
login se a senha estiver errada
# especifica o valor mnimo e mximo do UID selecionado para criao
novos usurios com useradd e adduser
UID_MIN 1000
UID_MAX 60000
# especifica o valor mnimo e mximo do GID selecionado para criao
novos grupos com groupadd
GID_MIN 100
GID_MAX 60000
PASS_MAX_DAYS 99999
senha pode ser usada
PASS_MIN_DAYS 0
entre duas mudanas de senha
PASS_WARN_AGE 7
da senha
#UMASK
GERENCIAMENTO
(usurio)
especfica o nmero de dias que a senha poder ser utilizada
O usurio receber um alerta para mudar a senha antes de n dias
especfica a data na qual a conta ser desabilitada
Exemplo:
# passwd aluno1
# passwd (muda senha de root)
-u (Novo UID)
-L
-U
Novo UID
(Insere um caractere "!" na frente da senha criptografada,
desabilitando a senha do usurio)
(Remove o caractere "!" da senha criptografada, habilitando
a senha do usurio
Exemplo:
# usermod -G grupo usurio
$ groups aluno1 (visualiza grupos do usurio)
ou
$ cat /etc/group
SENAC-RR/2011
SENAC-RR/2011
SENAC-RR/2011
Opes
-f [nome]
-r [sala]
-w [telefone]
-h [telefone]
Usurio
Especifica o nome completo do usurio
Especifica a localizao do usurio
Especifica o telefone do trabalho do usurio
Especifica o telefone da casa do usurio
Exemplo:
# chfn -f "Aluno1 da silva" aluno1
# cat /etc/passwd | grep "aluno1"
Exemplo:
# groupadd grupo1
# gpasswd grupo1
$ newgrp grupo1
Senha :
$ exit
(Cria um grupo)
(Define uma senha para o grupo)
(O usurio atual muda para o grupo grupo1)
(Digite a senha do grupo)
(O usurio atual volta para seu grupo anterior)
Exemplo:
$ users
# users
who - Mostra quem est logado no sistema Saia do ambiente grfico apertando
CTRL+ALT+F1 e logue em um terminal com um usurio. Logue em outro terminal tty1
tty2 CTRL+ALT+F2 com outro usurio e execute o comando who.
Exemplo:
usuario@maquina:~$ who
aluno1 tty1 2007-09-02 19:45
aluno2 tty2 2007-09-02 19:45
aluno1
aluno2
tty1
tty2
23:28
23:28
29.00s 0.17s
9.00s 0.18s
0.16s-bash
0.17s-bash
last - Mostra uma listagem dos ltimos logins dos usurios e que ainda esto logados no
sistema
last
n (nmero)
Opes
Exibe o nmero linhas. Caso no for usada, as linhas sero
exibidas.
No informa o nome do computador
Informa o nome do computador da ltima coluna
Informa mudanas de nvel de execuo e shutdown
-R
-a
-x
Exemplo:
$ last | less
$ last | grep "aluno1"
$ last | tac
Opes
Exibe registro lastlog para usurio com LOGIN especificado
Exibe somente registros lastlog mais antigos que DIAS
Exibe somente registros lastlog mais recentes que DIAS
Exemplo:
$ lastlog | less
$ last -u aluno1 (Exibe informaes do usurio aluno1)
$ last -b 1 (Exibe informaes de 1 dia atrs)
Para permitir um usurio usar o comando sudo necessrio configurar o sudo atravs
do arquivo de configurao /etc/sudoers.
Neste arquivo so especificados os comandos que um usurio poder executar como
root, para configurar o sudo digite o comando visudo como root e defina os comandos
que um usurio pode executar.
Abaixo segue um exemplo de configurao, onde permitido o usurio aluno1, aluno2
executarem os comandos fdisk, mount como root
# visudo
$ sudo -l
$ sudo fdisk /dev/hda
# cp /etc/passwd /root/backup
# cp /etc/shadow /root/backup
# cp /etc/group /root/backup
# mv shadow /root/
# ls /etc/shadow*
# pwconv
# ls /etc/shadow*
# ls /etc/gshadow*
SENAC-RR/2011
# grpck
Bloqueando um usurio
Para bloquear um usurio de fazer login, basta colocar como comentrio com um # na linha
referente a esse usurio no arquivo /etc/passwd.
Antes
aluno1:x:1001:1001:aluno1,,,:/home/aluno1:/bin/bash
Depois
#aluno1:x:1001:1001:aluno1,,,:/home/aluno1:/bin/bash
SENAC-RR/2011
SYSV INIT
Na inicializao SysV init, o processo init troca o estado do kernel para multitarefa e l o arquivo
/etc/inittab. Esse arquivo define o (runlevel) nvel de execuo que inicializar os scripts que
seram executados para inicializar os servios, programas e terminais.
Os nveis de execuo definem como o sistema operacional inicializar e subdivide-se em 0 a 6.
Os scripts de inicializao so definidos no arquivo /etc/inittab
Os seguinte (runlevels)nveis de execuo esto disponveis em distribuies Red Hat(e
baseadas nela):
0 - Halt
1 - Modo monousurio
2 - Modo multiusurio, sem NFS
3 - Modo multiusurio, com NFS
4 - Reservado
5 - X11
6 - Reboot
s ou S no usado diretamente, mas sim para programas que so executados durante o
runlevel 1
SENAC-RR/2011
Se um link iniciado com a letra K (Kill), quer dizer que o servio ser interrompido
naquele nvel(runlevel) de execuo, que far com que seja executado o servio em
/etc/rc.d/init.d seguido de stop.
Se um link iniciado com a letra S (Start), quer dizer que o servio ser inicializado
naquele nvel(runlevel) de execuo, que far com que seja executado o servio em
/etc/rc.d/init.d seguido de start.
So executados primeiramente os links com a letra K e depois com S, a ordem que os scripts so
executados depende do nmero que vem seguido das letras K ou S, por exemplo, os seguintes
arquivos so executados em seqncia:
Para ver todos links simblicos digite:
# ls /etc/rc?.d/
Para ver os links de um servio apenas:
# ls ls /etc/rc?.d/*ssh*
/etc/rc0.d/K20ssh
/etc/rc2.d/S20ssh
/etc/rc4.d/S20ssh
/etc/rc6.d/K20ssh
/etc/rc1.d/K20ssh /etc/rc3.d/S20ssh /etc/rc5.d/S20ssh
Caso voc deseje remover os links de um servio na inicializao:
# rm -f /etc/rc?.d/*ssh*
Note que os arquivos que iniciam com o mesmo nmero (S20*) so executados alfabeticamente.
O nvel de execuo do sistema pode ser modificado usando-se o comando init ou telinit.
Por exemplo, para listar o nvel de execuo atual do sistema digite:
# runlevel
O runlevel dever listar algo como:
N2
Agora para mudar para o nvel de execuo 1, digite:
# init 3
Agora confira a mudana digitando: runlevel. Voc dever ver este resultado:
23
Isto quer dizer que o nvel de execuo anterior era o 2 e o atual o 3.
INICIALIZANDO SERVIOS
Por exemplo, para reconfigurar as interfaces de rede do computador, podemos utilizar os
seguintes comandos:
# cd /etc/init.d
# ./networking restart
ou
# /etc/init.d/networking restart
ou
# invoke-rc.d networking restart
SENAC-RR/2011
Sua forma de utilizao igual ao ntsysv, usando as setas PARA CIMA e para PARA BAIXO
para escolher as opes, para habiltar e desabiltar usando a tecla ESPAO e para finalizar ou
cancelar apertando TAB.
SENAC-RR/2011
NO LILO
Quando ligar o computador aparece o prompt no boot a digite:
linux single
Aperte ENTER para inicializar o sistema sem pedir senha depois para colocar um nova senha
s digitar o comando:
# passwd
NO GRUB
Outra forma para qualquer distribuio Linux como Debian, Ubuntu, Kurumin e OpenSuse que
utilizam o grub, e no funciona o mtodo utilizado no Red Hat / Fedora e Mandriva, siga os passo
abaixo onde no sero salvar estas configuraes, so apenas nesse boot para trocar a
senha de root :
1) Quando ligar o computador aparece a tela do grub, escolha a primeira linha referente ao
kernel atual e a aperte E;
Veja abaixo:
Debian GNU/Linux, Kernel 2.6.18-4-686
Debian GNU/Linux, kernel 2.6.18-4-686 (single-user)
2) Vai aparecer a linha de inicializao escolha a segunda linha e aperte E novamente;
Veja abaixo:
/boot/vmlinuz-2.6.18-4-486 root=/dev/hda3
3) Apague tudo que estiver depois da partio do root e insira rw init=/bin/bash;
Exemplo:
antes:
SENAC-RR/2011
(hd0,2)
/boot/vmlinuz-2.6.18-4-686 root=/dev/hd3 rw init=/bin/bash
/boot/initrd.img-2.6.18-4-686
5) Tecle B com as novas configuraes, para inicializar o sistema sem pedir senha depois para
colocar um nova senha s digitar o comando:
# passwd
Existem outras formas de recuperar senha de root atravs de disquete criado na instalao ou de
Lives CDs como Kurumin e Ubuntu
Mudando a senha
Com a partio montada e logado como root voc ter acesso de escrita ao file system(sistema
de arquivos) que parecia perdido.
Altere as permisses do arquivo shadow para escrita.
SENAC-RR/2011
SENAC-RR/2011
GERENCIAMENTO DE PROCESSOS E
SERVIOS
PROCESSOS
Um processo um canal de comunicao entre os programas que esto sendo executados
no sistema operacional e o usurio, ou seja um processo um programa que est sendo
executado.
No Linux / Unix os processos utilizam os recursos de forma inteligente diminuindo o uso do
processador (CPU), ou seja quando processo de um programa tentar ler ou escrever
informaes no HD, este processo entrar na fila de espera at finalizar a entrada e sada
dados, enquanto isso ocorre, outro processo pode ser executado diminuindo o tempo de uso
e acesso do processador, memria RAM e perifricos.
Cada processo que est sendo executado armazena um subdiretrio com o mesmo nmero
do processo(PID) em /proc, e dentro desses subdiretrios armazenado informaes sobre
cada processo nos arquivos cmdline, environ e status.
Para exibir os processos so utilizados os comandos ps, pstree e top e para mudar a ordem
de prioridade dos processos so usados os comandos nice e renice.
Os processos tem prioridades alternando entre -20 (prioridade (maior) e 19 (prioridade
menor), o comando nice pode executar um programa com prioridade especficas sendo o
seu padro 10.
O comando renice modifica a prioridade de um processo em execuo, sendo que somente
o usurio root pode executar processos com prioridade negativa e modificar a ordem de
execuo de processos positivos para negativos.
COMPONENTES DE UM PROCESSO
A execuo de um processo possuem vrios componentes.
PID e PPID
O PID (Process Identification - indentificador de processo) um nmero de identificao que o
sistema exibe a cada processo. Nenhum PID pode existir para dois ou mais processos ao mesmo
tempo, devendo ser gerado um novo numero a cada um novo processo.
Quando isso ocorre, o processo "copiado" recebe o nome de "processo pai", enquanto que o
novo denominado "processo filho". justamente nesse momento que o PPID (Parent Process
Identification - indentificador de processo pai) passa a ser usado, sendo gerado em
funo do processo pai, o PID.
UID e GID
Lembrando que cada processo necessita de um proprietrio, ou seja, um usurio que seja
considerado seu dono. Nesse ponto, o sistema ir identificar, quem pode ou no executar o
processo em questo, isso de acordo com as permisses do usurio. Para lidar com os donos, o
sistema utiliza os nmeros UID e GID.
SENAC-RR/2011
No Linux os usurios e os grupos so gerenciados atravs dos nmeros UID (User Identifier) e
GID (Group Identifier). Como podemos perceber, que UID so nmeros de usurios e GID so
nmeros de grupos. No processo podemos visualizar os usurios e grupos, facilitando a sua
visualizao e somente o usurio root pode finalizar processos criados por outros usurios.
EUID e EGID
EUID (indentificador de usurio efetivo - Effective User IDentification) - ativa o bit setuid em um
programa permitindo que o processo com EUID seja executado como se fosse dono do arquivo
executvel ao invs do UID do usurio.
Por exemplo um programa com o bit setuid ativado como dono o usurio root, permite qualquer
usurio executar o programa como se fosse o usurio root, permitindo assim um invasor atacar
o sistema, portanto no recomendado ativar o bit setuid em seus programas.
Para verificar programas com bit setuid ativado use o comando find e visualize com ls -l.
$ find /usr/ -perm 4755 -print
$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 28480 2007-02-27 04:53 /usr/bin/passwd
EGID (indentificador do grupo efetivo - Effective Group IDentification) - ativa o bit setgid em um
programa.
EXECUO DE UM PROCESSO
Quando um processo iniciado ele passa por vrias etapas, no incio o processo entra no estado
ready (leitura), o escalador de tarefas do kernel chamado de scheduler, determina de acordo
com a prioridade e a ordem de filas de espera dos processos, quando informar ao processador
sobre esse processo passando para o estado running (execuo).
No momento em que o processo entra na fila de espera, ele entra novamente no estado de ready
(leitura) e ficar esperando um novo processo de escalonado pelo kernel do sistema operacional.
Quando um processo tentar efetuar alguma operao de entrada e sada (I/O) de dados, o kernel
verificar se o dispositivo que ele est tentando acessar est ocupado, caso esteja, ento o
processo ser bloqueado e entrar no estado waiting (espera), esperando que a operao seja
finalizada.
No fim da execuo de um processo ele pode ser finalizado com o comando kill, os processos
que terminam sem que o parent (pai) seja informado, podem entrar no estado zombie (zombi)
que um processo morto rfo, sem que o processo pai seja avisado.
Exemplo de execuo de um processo:
SENAC-RR/2011
TIPOS DE PROCESSOS
PROCESSOS DINMICOS
A partir de uma sesso de usurio, os processos dinmicos so executados inicialmente em um
terminal de comandos e gerenciado por ele. Quando se executa um comando no terminal,
geralmente ele processado em modo foreground (primeiro plano).
Para interromper um processo utiliza-se as teclas <CTRL> + <Z>, onde automaticamente ser
exibido a mensagem "Stopeed" e o nmero do job entre colchetes [ ] desse processo, e para
cancelar um processo utiliza-se as teclas <CTRL> + <C>. Para controlar o gerenciamento de
processos so utilizados os comandos fg, bg e jobs.
Exemplo:
$ xeyes
SENAC-RR/2011
<CTRL> + <Z>
[1] + Stopped xeyes
$ xeyes
<CTRL> + <C>
$ jobs -l
[1]+ 3480 Running
xeyes &
SENAC-RR/2011
bg
(%id)
%id
Exemplo:
$ xeyes
CTRL + Z
[1] + Stopped xeyes
$ bg %1
[1]+ xeyes &
(%id)
%id
Exemplo:
$ top &
[1] 3004
$ fg %1
CTRL + C
Significado
Exibe o nome e o numero de cada processo
Exibe o nome de cada processo
Exibe o numero de cada processo
Exemplo:
$ firefox &
$ jobs
$ jobs -l
$ jobs -p
Significado
Mostra todos os processos
Mostra informaes de outros usurios
Mostra o nome do usurio e o horrio de incio do processo
Mostra processos do terminal corrente e de outros terminais
Mostra o nmero do processo PID
Exemplo:
$ firefox &
$ ps -aux
SENAC-RR/2011
STAT
START
TIME
COMMAND
Significado
Nome do usurio dono do processo
ID do processo
Porcentagem do consumo de CPU
Porcentagem do consumo de memria
Tamanho virtual do processo
Nmero de pginas na memria(Resident Set Size)
TTY do terminal
Estado processo:
R (executvel), S (Dormente (< 20 segundos)), Z (Zumbi), D (espera
no disco(curto prazo)), T (rastreado ou interrompido)
Outras opes adicionais:
W (processo paginado em disco), < (prioridade do processo maior
que o normal), N (prioridade do processo menor que o normal), L
(pginas bloqueadas no kernel do sistema)
Horrio de incio do processo
Tempo de consumo do processador (CPU) consumido pelo processo
Nome do comando e opes
Opo
-u(usurio)
-U (usurio)
-d (n)
Significado
Mostra processos de um usurio especfico
No mostra processos de um usurio especfico
Atualiza a tela do monitor a cada n segundos
Exemplo:
$ top
$ top -u aluno1
$ top -u aluno1 -d 3
Significado
ID do processo
Nome do usurio dono do processo
Prioridade do processo
Nice do processo (um valor negativo significa maior prioridade e um
NI
valor positivo menor prioridade)
VIRT
Memria virtual total usada
RES
Memria fsica usada
SHR
Memria compartilhada usada
Status do processo: R (executando), S (dormindo), T (parado), Z
S
(Zumbi) e D (dormindo sem interrompo)
%CPU
Porcentagem do consumo de CPU
%MEM
Porcentagem do consumo de memria
TIME
Tempo de consumo do processador (CPU) consumido pelo processo
COMMAND Nome do comando e opes
SENAC-RR/2011
Exemplo:
$ kill -l
$ xeyes &
[1] 3409
$ killall xeyes
[1]+ Terminado xeyes
$ top &
[1] 3357
$ killall -9 top
ou
$ killall -KILL top
ou
$ killall -SIGKILL top
$ firefox &
[2] 3429
$ renice +19 3429
SENAC-RR/2011
dmesg [opes]
Opes
-c
-s <tamanho>
Descrio
Limpa o contedo em buffer do kernel
Tamanho do buffer (geralmente 8.192.bytes)
Exemplos:
$ dmesg
$ dmesg | grep CD-ROM
hdd: ATAPI 52X CD-ROM drive, 128kB Cache, DMA
Uniform CD-ROM driver Revision: 3.20
SENAC-RR/2011
$ dmesg -c
ARQUIVO DE CONFIGURAO
O arquivo de configurao do syslogd fica localizado em:
Debian, redhat, slackware
/etc/syslog.conf .
OpenSuse
/etc/sysconfig/syslog
Fedora
/etc/sysconfig/rsyslog
Sintaxe do arquivo syslog.conf
Onde o campo selecto pode ser dividido em duas opes separadas por um ponto " . "
Por exemplo, a linha abaixo do arquivo /etc/syslog.conf:
mail.err
/var/log/mail.err
O campo recurso da mensagem diz qual o tipo de mensagem que pode ser da seguinte forma:
Recurso da mensagem
*
auth
authpriv
kern
cron
daemon
ftp
mail
syslog
news
lpr
user
uucp
mark
local0
local7
Significado
Todos os recursos, memos o recurso mark
Mensagens de segurana e autorizao
Mensagens de controle de acesso autorizado privada
Mensagens do kernel
Mensagens do daemon cron
Mensagens de todos os daemons do sistema
Mensagens do daemon ftp
Mensagens do servidor de email e outros porgramas
relacionados com email
Mensagens do daemon syslogd
Mensagens do servidor de notcias
Mensagens do servidor de impresso
Mensagens de processos de usurios
Mensagens reservadas para UUCP, que no o utiliza
Mensagens de timestamps geradas em intervalos de tempo
Mensagens locais
Mensagens de incio do sistema (boot)
O campo prioridade do aviso diz qual o tipo de prioridade da gravidade do aviso, em ordem
decrescente em nveis de gravidade:
Prioridade do aviso
emerg
alert
crit
err
warning
notice
info
debug
Significado
Mensagens de situao de pnico
Mensagens de situao de urgncia
Mensagens de condies crticas
Mensagens de erros
Mensagens de alerta
Mensagens de notificao e anlise
Mensagens do informaes
Mensagens de depurao
Significado
Sem nenhuma prioridade
Todos os recursos ou prioridade de mensagens
Limita um recurso ou prioridade
Determina uma exceo de um recurso ou prioridade
Determina que um recurso ou prioridade no pode ser usado
Permite o uso de vrios recursos
Permite o uso de vrios campos seletores
A tabela abaixo mostra alguns exemplos de uso dos caracteres de nvel de prioridade.
Campo seletor
mail, news . alert
mail . info
mail .= info
mail . info ; mail . ! err
Significado
Envia todas as mensagens de mail e news com prioridade
alert ou superior
Envia todas as mensagens de mail com prioridade info ou
superior
Envia apenas as mensagens de mail com prioridade info
Envia apenas as mensagens de mail com prioridade info,
notice e warning exceto a prioridade err
SENAC-RR/2011
O campo ao da mensagem informa para onde ser enviada a mensagem, que pode ser um
arquivo de log em um computador local ou remoto, um dispositivo ou um grupo de usurios
como mostra a tabela abaixo.
Ao da mensagem
Filename
@hostname
@ipaddress
| fifoname
user1, user2, etc
*
Significado
Grava as mensagens em um arquivo no computador local
/var/log/messages, /var/log/syslog, etc
Redireciona as mensagens para o syslogd de um computador host
remoto
Redireciona as mensagens para o syslogd de um endereo IP remoto
Grava mensagens em um pipe com o nome de fifoname (use man
mkfifo para mais detalhes)
Grava as mensagens dos usurios que esto logados.
Grava mensagens para todos os usurios logados no sistema
ARQUIVOS DE LOGS
Os arquivos de logs mais usados para anlise de problemas no sistema so:
/var/log/messages
/var/log/syslog
/var/log/secure
/var/log/security
Para verificar erros de arquivos de configurao, use o comando tail como root, para ver erros
em tempo real, use a opo -f.
# tail /var/log/messages
# tail -f /var/log/syslog
Nesses arquivos podemos ver os seguintes campos:
Data
Aug 30
Hora
12:26:3
Mquina
localhost
Daemon
syslogd
Mensagem
1.4.1#19: restart.
SENAC-RR/2011
-/var/log/mail.info
-/var/log/mail.warn
/var/log/mail.err
# grava arquivos de logs de notcias no sistema com prioridade crit, err e notice
news.crit
news.err
news.notice
*.=debug;\
/var/log/news/news.crit
/var/log/news/news.err
-/var/log/news/news.notice
# grava todos os recursos com prioridade debug em /var/log/debug
SENAC-RR/2011
auth,authpriv.none;\
# no grava os recursos auth e authpriv em /var/log/debug
news.none;mail.none -/var/log/debug
# no grava os recursos news e mail em
/var/log/debug
*.=info;*.=notice;*.=warn;\ # grava todos os recursos com prioridade info, notice e warn em
/var/log/messages
auth,authpriv.none;\
# no grava os recursos auth e authpriv em /var/log/messages
cron,daemon.none;\
# no grava os recursos cron e daemon em /var/log/messages
mail,news.none -/var/log/messages # no grava os recursos mail e news em
/var/log/messages
daemon.*;mail.*;\
# grava os recursos daemon e mail com todas prioridades no
dispositivo /dev/xconsole
news.crit;news.err;news.notice;\
# grava o recurso news com as prioridades crit, err e
notice em /dev/xconsole
*.=debug;*.=info;\
# grava todos os recursos com prioridades debug, info, notice e
warn em /dev/xconsole
*.=notice;*.=warn |/dev/xconsole
@servidor1.linuxbrasil.org.br
ou
*.*
@192.168.1.1
ou
*.*
@servidor1
Agora edite o arquivo /etc/hosts do computador local (cliente) que enviar as mensagens de log,
incluindo o nome do host remoto (servidor) e o endereo IP. Faa o mesmo procedimento no
computador remoto.
# /etc/hosts
192.168.1.1
servidor1.linuxbrasil.org.br
servidor1
Isso faz com que todas as mensagens sejam enviadas para o computador remoto
servidor1.linuxbrasil.org.br com endereo IP 192.168.1.1. Caso o computador remoto no esteja
respondendo, voc pode tambm incluir um cpia das mensagens de log local e remoto.
# logs remoto
mail.*
@servidor1.linuxbrasil.org.br
kern.*
@192.168.1.1
SENAC-RR/2011
# logs
mail.*
kern.*
local
-/var/log/mail.log
-/var/log/kern.log
Aps isso, configure o daemon syslogd do computador que ir receber mensagens de log remoto,
editando o arquivo de configurao do syslogd incluindo a opo -r para log remoto.
Debian - /etc/default/syslogd
SYSLOGD="-r"
Fedora - /etc/sysconfig/rsyslog
SYSLOGD_OPTIONS="-r -m 0"
OpenSuse - /etc/sysconfig/syslog
SYSLOGD_PARAMS="-r"
Feito as alteraes voc pode reiniciar o syslogd ou reinicie diretamente o computador
# reboot
Para testar use o comando logger no computador local (cliente)
$ logger -p mail.warn "ola mundo"
Verifique agora as mensagens de log no computador remoto (servidor)
$ tail /var/log/mail.warn
Jan 7 20:46:26 pc01.linuxbrasil.org.br aluno1: ola mundo
SENAC-RR/2011
$ at 21:25 apr
warning: commands will be executed using /bin/sh
at> touch /tmp/arquivo APERTE ENTER
at> <EOT>APERTE CTRL + D
job 1 at Tue apr 8 21:25:00 2008
$ at -l (exibe a tarefa)
1 Thu Apr 10 21:25:00 2008 a aluno1
SENAC-RR/2011
Aps algum tempo execute o comando top, e quando o sistema permitir ser criado o
arquivo teste1 em /tmp.
$ top
$ ls /tmp
teste1
O SERVIO CROND
O daemon(servio) cron um servio do sistema localizado no diretrio /etc/init.d/, e tem a
funo de executar tarefas automticas com comandos e programas em datas e horrios
programados e possue o seguinte arquivo e diretrio de configurao.
Valores permitidos
Nmeros de 0 a 59
Nmeros de 0 a 23
Nmeros de 1 a 31
Nmeros de 1 a 12
Nmeros de 0 a 7 - de domingo (0) a sbado (7)
Pode ser root ou um usurio do sistema
Comando ou script a ser executado
Obs: Um asterisco (*) indica que pode ser usado qualquer valor indicado em qualquer campo.
Por exemplo, se for usado no campo "dias da semana", o script ser executado em todos os dias
da semana de domingo (0) a sbado (7) 0 a 7.
SENAC-RR/2011
Abaixo segue um exemplo do arquivo /etc/crontab, adicionando uma nova linha no arquivo
/etc/crontab, no necessrio executar o comando crontab para criar uma nova crontab.
#/etc/crontab
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report
/etc/cron.daily
)
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report
/etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report
/etc/cron.monthly )
Essas entradas em /etc/crontab, diz ao daemon /etc/init.d/cron executar o programa run-parts
e /usr/sbin/anacron em datas e horrios programados. Esses programas executa scripts,
comandos e programas especificados nos diretrios a abaixo:
Diretrio
/etc/cron.hourly
/etc/cron.dail
/etc/cron.weekly
/etc/cron.monthly
55
23
Descrio
Ser executado toda hora
Ser executado todo dia
Ser executado uma vez por semana
Ser executado uma vez por ms
1-12
1-5
root
/root/script
Essa linha de contab executa o script /root/script como superusurio root, de segunda a sexta
(1-5), entre o ms de janeiro a dezembro (1-12), todos os dias do ms, s 23:55.
CRONTAB
arquivo
Exemplos:
Criando um script
$ cd /home/aluno1
$ cat > script
#!/bin/bash
echo "criando um script"
touch /tmp/arquivo
$ chmod +x script
$ crontab arquivo_crontab
$ crontab -l
15 8 1-31 1-12 0-7 aluno1 /home/aluno1/script
$ crontab
-r
LOGROTATE
SENAC-RR/2011
Logrotate programa utilizado para gerenciar o crescimento do tamanho dos arquivos de log do
sistema, rotacionando(onde so criados novos arquivos de logs), compactando diminuindo o
tamanho do arquivo de log, removendo e enviando por email os arquivos de log.
O programa logrotate executado todos os dias pelo daemon crond atravs do arquivo
/etc/cron.daily/logrotate , e possue os seguintes arquivos e diretrios:
SENAC-RR/2011
# logrotate -d -f /etc/logrotate.d/apache2
# ls /var/log
# ls /var/log/apache2
-rw-r----- 1 root adm 0 2008-01-09 12:24 access.log
-rw-r----- 1 root adm 159K 2008-01-08 21:12 access.log.1
-rw-r----- 1 root adm 3,6K 2008-01-04 13:55 access.log.2.gz
-rw-r----- 1 root adm 117 2008-01-09 12:24 error.log
-rw-r----- 1 root adm 761 2008-01-09 12:24 error.log.1.gz
-rw-r----- 1 root adm 831 2008-01-06 06:56 error.log.2.gz
Logrotate pode ser configurado globalmente no arquivo /etc/logrotate.conf, ou
especificando individualmente em um arquivo em /etc/logrotate.d/ como mostra o
exemplo abaixo retirado do comando man logrotate, onde rotaciona os arquivos
logs /var/log/syslog 3 vezes, semanalmente e envia um sinal atravs do comando
/usr/bin/killall -HUP syslogd, suspendendo o processo do daemon syslogd:
Exemplo de configurao de arquivo logrotate individual:
# /etc/logrotate.d/syslog
/var/log/syslog {
rotate 3
weekly
SENAC-RR/2011
postrotate
/usr/bin/killall -HUP syslogd
endscript
}
# logrotate -d -f /etc/logrotate.d/syslog
SENAC-RR/2011
ADMINISTRAO DE
SISTEMAS II
SENAC-RR/2011
SISTEMAS DE AUTENTICAO
J houve muitas discusses, algumas bastante acaloradas, sobre a segurana de sistemas na
seo de comentrios do DistroWatch Weekly (DWW) nos ltimos meses. Algumas pessoas at
argumentam contra o que a maioria considera a segurana bsica do Linux. Por causa disso, eu
recebi vrios pedidos para escrever um artigo completo e com referncias sobre os conceitos
bsicos de segurana no Linux. claro que existem livros inteiros dedicados segurana no
Linux, e quando comecei a escrever ficou claro que um artigo s no bastaria para cobrir o
assunto. Considere o artigo desta semana como um ponto de partida para uma pequena e
intermitente srie de artigos sobre a segurana no Linux.
Limitei o escopo deste e de futuros artigos do DistroWatch sobre segurana para que ele fizesse
sentido para os usurios domsticos e de pequenas empresas ou, em outras palavras, para
ambientes com apenas um punhado de sistemas e usurios. A maior parte do que ser descrito a
seguir se aplica ao BSD, ao OpenSolaris ou a qualquer sistema operacional UNIX ou semelhante
ao UNIX, embora os nomes de arquivos, comandos especficos e a sintaxe possam ser um pouco
diferentes. Para simplificar as coisas, vou me ater aos sistemas Linux.
Antes de descrever o bsico da autenticao no Linux, as discusses recentes deixaram muito
claro que eu devo comear definindo o que entendo como segurana. Tambm tenho que
responder pergunta mais bsica de todas, que seria o porqu de termos que nos preocupar
com esse assunto. Alguns leitores do DWW afirmam ter ignorado completamente a segurana
sem ter um problema sequer a relatar por muitos anos. Essas declaraes certamente so
autnticas. Isso no significa que o potencial para problemas reais no exista. Kurt Seifried, em
seu Linux Administrator's Security Guide, escreveu: "Basta cometer um erro ou deixar uma
nica falha em aberto para que um atacante entre. Isso, obviamente, significa que a maioria dos
sites ser invadida mais dia, menos dia." Ele acrescenta: "Todas as medidas tcnicas de
segurana acabaro falhando ou se tornando vulnerveis diante de um atacante. por isso que
voc precisa de mltiplas camadas de proteo."
O livro Practical UNIX and Internet Security oferece uma definio bem simples e direta de
segurana: "Um computador seguro quando voc pode confiar que ele e seu software se
comportaro como voc espera." H muitas definies mais tcnicas e detalhadas por a, mas
essa realmente resume tudo. Se algum faz uso de seu(s) sistema(s) para atingir seus prprios
objetivos sem seu consentimento, essa condio no mais atendida. O uso sem sua autorizao
pode originar-se de um amigo ou de um parente que no deseje causar mal algum, de um
companheiro de trabalho ou de um estranho do outro lado do mundo.
Quando eu falo em segurana, uma das perguntas que me fazem com frequncia por que
algum iria querer atacar um sistema domstico ou de uma pequena empresa. Na semana
passada, a Linux Pro Magazine Online publicou um relatrio descrevendo cem servidores Linux
com pssima segurana na Rssia usados como parte de uma botnet para distribuir malware
para sistemas Windows. Tenha em mente que muitos sistemas desktop domsticos so mais
poderosos do que servidores com alguns anos de idade. Combine a potncia do hardware de
hoje s conexes contnuas de banda larga em alta velocidade das quais muitos de ns nos
servimos, e voc vai entender como quase qualquer sistema pode ser um alvo interessante.
SENAC-RR/2011
CONTAS E SENHAS
A primeira e mais simples linha de defesa uma senha. Em seu livro, Securing & Optimizing
Linux: The Ultimate Solution, Gerhard Mourani escreve: "Muitas pessoas mantm suas
valiosas informaes e arquivos em um computador, e a nica coisa que impede terceiros de
terem acesso a isso tudo a sequncia de oito caracteres que chamamos de senha. Uma senha
indecifrvel, ao contrrio do que dizem por a, no existe. Com tempo e recursos em mos,
qualquer senha pode ser adivinhada por meio de engenharia social ou fora bruta." Alguns
usurios do Linux vo alm, rodando distribuies que no tm senha ou que usam uma senha
conhecida e disponvel publicamente para uma conta com privilgios ou de root. Isso
praticamente a mesma coisa que pr um tapete de boas-vindas para uma pessoa com acesso
fsico ao sistema e que esteja disposta a invadi-lo. Uma vulnerabilidade em um servio que se
comunique pela Internet pode, de fato, deixar um sistema desses aberto para literalmente
qualquer um que conhea a falha e a senha. Ao escrever sobre os mais variados tipos de padres
inseguros, Kurt Seifried diz: "Esse um dos problemas que geram problemas de segurana que
no tm mais fim desde o primeiro dia."
Mourani lista quatro regras bsicas para uma boa senha. Trs delas se aplicam mesmo a
sistemas domsticos e a pequenos escritrios:
Seu tamanho deve ser de no mnimo seis caracteres, de preferncia oito, com pelo menos
um nmero e um caractere especial.
Ela no pode ser trivial; uma senha trivial aquela que fcil de adivinhar e geralmente
se baseia no nome do usurio ou de um parente, em seu emprego ou em outras
caractersticas pessoais.
Ela deve ter um perodo de validade, exigindo que uma nova senha seja escolhida aps
um perodo especfico.
Todas as grandes distribuies Linux tm ferramentas que impem senhas fortes e validade das
mesmas. Muitos usurios no usam essas ferramentas porque inconveniente usar senhas
longas e no triviais que mudam periodicamente. A segurana , por natureza, inconveniente.
Cabe a cada um de ns decidir at que ponto a inconvenincia vlida para termos um sistema
seguro.
CONTA DE ROOT
A conta de root (ou conta de superusurio) a conta presente em todos os sistema *nix que
geralmente no tem absolutamente nenhuma restrio. O root pode fazer qualquer coisa. Por
esse motivo, geralmente recomendvel no fazer login e usar o sistema como root, a no ser
que isso seja absolutamente necessrio.
A primeira pessoal da qual voc se protege ao no utilizar o sistema como root de voc mesmo.
Eu trabalhei para um banco local por seis meses antes de ocorrer uma fuso. Um dos
administradores de sistemas profissionais deles, um homem com anos de experincia, escreveu
um script para apagar arquivos antigos em um servidor. Por motivos bvios, o script precisava
ser rodado como root. Ele cometeu um msero erro de sintaxe no script que fez com que o
mesmo rodasse no sistema de arquivos raiz, e no em um dos sistemas de arquivos em que ele
deveria rodar. Para piorar, ele ignorou os procedimentos de controle de alteraes apropriados,
porque pensou que era s uma manuteno trivial. O script rodou durante a noite, e comeou a
fazer seu trabalho de remover grandes partes do sistema operacional, que eram mais antigas do
SENAC-RR/2011
o nome de usurio
um x minsculo (geralmente)
o ID do usurio (UID)
o grupo padro do usurio
o nome completo do usurio e, opcionalmente, informaes adicionais em texto puro
sobre ele
SENAC-RR/2011
SENAC-RR/2011
A ARQUITETURA E CONFIGURAO DO
PAM
PAM
PAM a parte principal da autenticao em um sistema Linux. PAM significa Pluggable
Authentication Modules, ou Mdulos de Autenticao Plugveis/Modulares.
Originalmente a autenticao no Linux era apenas via senhas criptografadas armazenadas em
um arquivo local chamado /etc/passwd. Um programa como o login pedia o nome do usurio e
a senha, criptografava a senha e comparava o resultado com o armazenado naquele arquivo. Se
fossem iguais, garantia o acesso mquina. Caso contrrio, retornava erro de autenticao. Isto
at funciona muito bem para o programa login, mas, digamos que agora eu queira usar isso
tambm para autenticao remota. Ou seja, a base de usurios no est mais na mesma mquina,
mas sim em alguma outra mquina da rede, o chamado servidor de autenticao. Teremos que
mudar o programa login para que ele tambm suporte esse tipo de autenticao remota.
Surgiu um novo algoritmo de criptografia, muito mais avanado, mais rpido, criptografa
melhor, etc. Queremos usar esse novo algoritmo. Claro que teremos que mudar novamente o
programa login para que ele suporte este novo algoritmo tambm. No Linux, muitos programas
utilizam algum tipo de autenticao de usurios. Imagine se todos eles tivessem que ser
reescritos cada vez que se mudasse algum dos critrios de autenticao.
Para resolver este tipo de problema, a Sun criou o PAM h alguns anos e liberou as
especificaes em forma de RFC. O Linux derivou sua implementao do PAM a partir deste
documento. Com PAM, o aplicativo login deste exemplo teria que ser reescrito apenas uma vez,
justamente para suportar PAM. A partir de ento, o aplicativo delega a responsabilidade da
autenticao para o PAM e no se envolve mais com isso.
Voltando ao exemplo anterior, no caso de se querer utilizar um outro algoritmo de criptografia
para as senhas, basta que o mdulo PAM seja modificado para que todos os aplicativos
automaticamente e de forma transparente passem a usufruir desta nova forma de autenticao.
PAM possui uma outra vantagem: possvel configurar a autenticao de forma individual para
cada aplicativo. Com isto possvel fazer com que, por exemplo, um usurio comum possa usar
os dispositivos de udio do computador desde que tenha se logado na mquina atravs do
console. Se o login no tiver sido feito no console (por exemplo, um login remoto via ssh), este
tipo de acesso ao hardware ser negado. Ser que os programas login ou ssh sabem alguma coisa
sobre o dispositivo de udio da mquina? claro que no. Eles no precisam. Os mdulos PAM
se encarregam disso.
Na verdade, PAM vai um pouco alm da autenticao. Os mdulos podem ser divididos em
quatro tipos:
auth:
a parte que verifica que o usurio realmente quem ele diz que . Pode ser bem
simples, pedindo apenas por um nome e uma senha, ou utilizando autenticao
SENAC-RR/2011
biomtrica, por exemplo (como uma impresso de voz, uma imagem da retina ou
impresso digital).
account:
Esta parte verifica se o usurio em questo est autorizado a utilizar este servio ao qual
ele est se autenticando. Os mdulos aqui podem checar por horrio, dia da semana,
origem do login, login simultneo, etc.
passwd:
Este servio usado quando se deseja mudar a senha. Por exemplo, aqui podem ser
colocados mdulos que verificam se a senha forte ou fraca.
session:
Por fim, a parte session fica encarregada de fazer o que for necessrio para criar o
ambiente do usurio. Por exemplo, fornecer o acesso a alguns dispositivos locais como o
de udio ou cdrom, montar sistemas de arquivos ou simplesmente fazer o registro do
evento nos arquivos de log do sistema.
Um mdulo PAM pode ou no conter todas estas funes. O mdulo pam_pwdb, por exemplo,
pode ser usado nestes quatro tipos e possui aes diferentes em cada uma das situaes,
enquanto que pam_console normalmente usado apenas como session.
PAM NO LINUX
Praticamente todos os aplicativos do Linux que requerem algum tipo de autenticao suportam
PAM. Na verdade, no funcionam sem PAM. Toda a configurao est localizada no diretrio
/etc/pam.d. Quando um aplicativo suporta PAM, ele necessita de um arquivo de configurao
neste diretrio. A Figura 7-1 ilustra como funciona a autenticao com PAM usando o programa
login como exemplo:
Um programa com suporte a PAM possui duas interfaces com a biblioteca: a de autenticao e a
de conversao. A interface de autenticao por onde a aplicao pede que o PAM valide o
usurio. A de conversao usada pelos mdulos que, por exemplo, precisem passar alguma
informao para o usurio, como um prompt, ou um aviso de que a senha expirou. Isso tudo o
que a aplicao sabe sobre o processo de autenticao feito pelo PAM. A conversao est
ilustrada na figura no mdulo pam_pwdb (b).
A biblioteca PAM vai procurar o arquivo de configurao da aplicao login. Este arquivo
/etc/pam.d/login e vai dizer quais mdulos devem ser usados e com que parmetros. Este
arquivo est reproduzido a seguir:
#%PAM-1.0
auth
required /lib/security/pam_securetty.so
auth
required /lib/security/pam_pwdb.so shadow nullok
auth
required /lib/security/pam_nologin.so
account
required /lib/security/pam_pwdb.so
password required /lib/security/pam_cracklib.so
password required /lib/security/pam_pwdb.so shadow md5 nullok \
use_authtok
session
required /lib/security/pam_pwdb.so
SENAC-RR/2011
session
optional /lib/security/pam_console.so
Este arquivo de configurao lista os mdulos PAM que este programa (login) deve usar, e eles
esto representados na figura atravs de letras. Estes mdulos sero carregados e executados na
ordem em que estiverem no arquivo de configurao. Note que um mdulo pode aproveitar uma
informao de um mdulo anterior, como normalmente feito para username/senha. Isso
usado para no pedir a mesma informao novamente para o usurio.
A primeira coluna em um arquivo de configurao PAM representa o tipo de mdulo: auth,
account, password ou session. Neste exemplo, todos esto presentes, mas isto no obrigatrio.
Se um programa no tiver suporte troca de senha, o tipo "password" no usado.
A segunda coluna define a flag de controle para o seu respectivo mdulo. O resultado de cada
mdulo pode influenciar de diversas formas o resultado do processo de autenticao geral. H
algumas categorias:
required:
O resultado deste mdulo influencia diretamente o resultado final. Uma falha em um
mdulo deste tipo s aparecer para o usurio aps todos os outros mdulos desta classe
serem executados.
requisite:
Semelhante a required, mas os outros mdulos no so executados e o controle volta
imediatamente para o aplicativo em caso de falha.
sufficient:
A falha deste mdulo no implica em falha da autenticao como um todo. Se o mdulo
falhar, o prximo da classe executado. Se no houver prximo, ento a classe retorna
com sucesso. Se, por outro lado, o mdulo terminar com sucesso, ento os mdulos
seguintes dessa classe no sero executados.
optional:
Os mdulos marcados como optional praticamente no influenciam o resultado da
autenticao como um todo. Eles apenas tero alguma influncia caso os mdulos
anteriores da mesma classe no apresentem um resultado definitivo.
Por fim, a terceira coluna define o nome do mdulo que ser usado e seus parmetros. Todos os
mdulos esto documentados em /usr/doc/pam-verso. Vamos aqui apenas ilustrar como
funcionam os usados no programa login.
Em primeiro lugar, observamos que todos os mdulos so required, ou seja, no podem falhar.
Com exceo do pam_console.
PAM_SECURETTY
Este o primeiro mdulo a ser usado e ele simplesmente verifica o terminal de onde o login est
ocorrendo. Este mdulo no usa parmetros, mas possui um arquivo de configurao:
/etc/securetty. Neste arquivo listamos os terminais a partir dos quais o usurio root pode
fazer login. Ou seja, so os terminais considerados seguros. Apesar do nome terminais, conexes
remotas tambm so controladas por aqui, pois elas alocam pseudoterminais (telnet, etc). O
SENAC-RR/2011
mdulo retorna sucesso para qualquer usurio diferente de root e, se for root, somente se o
terminal de onde est vindo o login estiver listado no arquivo /etc/securetty. Na srie 2.2.x
do kernel, os pseudoterminais so alocados dinamicamente em um sistema de arquivos virtual,
o /dev/pts. Para permitir o login de root via telnet, por exemplo, basta acrescentar ao
/etc/securetty: pts/0. Note que isto somente liberar o pseudoterminal pts/0. Veja no
exemplo seguir:
[darkangel@manticore darkangel]$ telnet localhost
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Conectiva Linux 7.0
Kernel 2.4.5-7cl
login: root
Password:
[root@manticore /root]# telnet localhost
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Conectiva Linux 7.0
Kernel 2.4.5-7cl
login: root
Password:
Login incorrect
login:
A primeira conexo telnet ganhou o pseudoterminal pts/0. J a segunda teve o pts/1 alocada
para si, e este pseudoterminal no estava listado no arquivo /etc/securetty. Portanto, o
acesso no foi autorizado. Por que isto no funciona com ssh, por exemplo? Se olharmos o
arquivo de configurao PAM para o ssh, veremos que o mdulo pam_securetty no est
presente ali. SSH possui seu prprio mecanismo de acesso para o usurio root, mas nada impede
que pam_securetty seja acrescentado no arquivo PAM. O mdulo pam_securetty tambm pode
ser usado para controlar o login a partir do ambiente grfico, por exemplo. Basta acrescentar o
mdulo ao arquivo /etc/pam.d/kde (se o kdm estiver sendo usado para login grfico). A linha a
ser acrescentada ao arquivo /etc/securetty (alm de se acrescentar pam_securetty aos
respectivos arquivos PAM, claro) : :0. Isto para o display zero. Para permitir o login de root
em outros displays, a sintaxe : :DISPLAY .
O objetivo original deste mdulo o de evitar o login do root em terminais inseguros. Este
conceito de terminais foi estendido ao login remoto (atravs dos pseudoterminais).
PAM_PWDB
O mdulo pam_pwdb o mdulo principal da autenticao do programa login. Ele vai pedir um
nome de usurio e uma senha e verificar se esto corretos. Como tal, o mdulo utiliza a funo
de conversao para interrogar o usurio e pegar as informaes desejadas.
SENAC-RR/2011
Este mdulo aceita alguns parmetros, conforme seu uso (auth, account, etc.):
O try_first_pass ser usado mais adiante quando mostrarmos a autenticao via LDAP. Este
mdulo tambm possui seu prprio arquivo de configurao: /etc/pwdb.conf. No entraremos
em detalhes quanto sintaxe deste arquivo, pois o mdulo pam_pwdb no muito extensvel. Na
verdade, o pam_unix bem mais genrico por usar as funes da glibc e, portanto, suporta NIS,
LDAP, arquivos texto, arquivos binrios e qualquer outra coisa que a glibc vier a suportar
(atravs de NSS). No caso de uso com a classe session, o mdulo pam_pwdb apenas faz o log do
usurio que entrou no sistema. Sendo usado com a classe account, o mdulo vai verificar se a
senha do usurio expirou, h quanto tempo a senha no trocada, etc.
PAM_NOLOGIN
O mdulo pam_nologin bastante simples, e muito til. uma forma rpida de desabilitar o
login de qualquer usurio que no seja o root. Para isto, basta criar o arquivo /etc/nologin.
Existindo este arquivo, o mdulo pam_nologin vai sempre retornar ERRO para usurios
diferentes de root e exibir o contedo de /etc/nologin (onde se deve colocar o motivo da
proibio), ou seja, s o usurio root consegue se logar na mquina. Quando o arquivo for
removido, a operao voltar ao normal, com usurios comuns podendo se logar novamente.
Isto pode ser til quando se quer fazer alguma manuteno no sistema, por exemplo, situao
em que logins de usurios so indesejveis. Alguns aplicativos do prprio Linux tambm podem
criar este arquivo e depois remov-lo quando alguma operao crtica for concluda.
Note que os usurios que j estiverem logados na mquina no so afetados pela criao ou
remoo do arquivo /etc/nologin.
PAM_CRACKLIB
Este mdulo especialmente importante para a segurana pr-ativa. Colocado apenas na classe
password, o mdulo vai verificar a senha do usurio antes que ela seja trocada. Se for uma senha
considerada fraca, ela ser rejeitada e o usurio no conseguir trocar a senha. As verificaes
que o mdulo faz atualmente so:
deve ter em relao senha antiga. O valor padro 10 ou metade do tamanho da senha
atual, o que for menor.
Senha repetida: se existir o arquivo /etc/security/opasswd com as senhas
anteriores do usurio, o mdulo pam_cracklib vai tambm verificar se a senha nova j
no foi usada anteriormente. Esse arquivo de senhas antigas atualmente gerado apenas
pelo mdulo pam_unix, embora exista uma discusso para se criar um mdulo especfico
para esta tarefa (algo como pam_saveoldpass) e remover esta funcionalidade do mdulo
pam_unix.
Tamanho mnimo da nova senha mais um. Alm de contar a quantidade de caracteres
da senha nova, crditos tambm podem ser fornecidos com base na quantidade de
algarismos, caracteres maisculos/minsculos e smbolos. Ou seja, se o valor de
minlen for 10, o usurio pode usar uma senha com menos do que 10 caracteres, desde
que, somando a quantidade de caracteres mais os crditos, o valor final ultrapasse 10.
Por exemplo:
password required /lib/security/pam_cracklib.so retry=3 minlen=10
Especificamos um tamanho mnimo de 9 para a senha nova. Portanto, uma senha igual a
senharuim vai funcionar (possui nove caracteres). Mas uma senha igual a am0Bb$
tambm funcionar, apesar de possuir apenas 6 caracteres. Como? Por causa dos
crditos.
am0Bb$=>6+1(B, maiscula)+1(0, dgito)+1($, smbolo)= 9=>OK,
passar.
Por outro lado:
am0Bbd => 6 + 1(B, maiscula) + 1(0, dgito) = 8 => no passar.
Por padro, cada um dos tipos de variao da senha (minsculo, maisculo, algarismo e
smbolo) conta no mximo um crdito. Ou seja:
SENAC-RR/2011
PAM_CONSOLE
O objetivo do mdulo pam_console permitir ao usurio local (ou seja, no console, fisicamente
na mquina) o acesso a diversos dispositivos normalmente restritos ao superusurio, como
placa de som, dispositivo de disquete e tambm permitir ao usurio comum (local) executar
certas tarefas, como desligar o computador, entrar no ambiente grfico ou mesmo instalar
pacotes RPM.
Essa capacidade adicional fornecida ao usurio no seu primeiro login e removida aps o ltimo
logout, e se d atravs da modificao das permisses de alguns dispositivos e tambm atravs
de autenticao.
Diz-se que o primeiro usurio que fizer login no console "ganha" o console e as permisses
definidas no arquivo de configurao /etc/security/console.perms. Quando um usurio
possui o console, um arquivo de lock criado em /var/lock com o nome console.lock. O
contedo do arquivo o nome do usurio que possui o console. Se um outro usurio local fizer
um login, ele no receber o console, pois j existe um lock indicando que o console pertence a
outro usurio. Quando o usurio do console fizer logout, o arquivo de lock ser removido e o
console novamente ficar disposio do primeiro usurio (no root) que fizer o login.
Quando um usurio recebe o console, vrias permisses so alteradas no sistema de arquivos,
conforme indicado no arquivo de configurao deste mdulo PAM. Note que este mdulo est
como optional, ou seja, no usado para o sucesso ou no da autenticao do usurio. Isso
necessrio, pois ele pode falhar (um outro usurio j possui o console, por exemplo).
A seguir, um arquivo de configurao tpico (sem os comentrios maiores):
SENAC-RR/2011
/dev/radio*
/dev/winradio*
/dev/vtx*
# permission definitions
0660
0660 root.floppy
0660
0660 root.audio
0660
0660 root.cdrom
0600
0660 root.tty
0600
0660 root.disk
0600
0660 root.disk
0600
0600 root
0600
0600 root
0600
0600 root
0600
0600 root
0600 /dev/console 0600 root.root
Em primeiro lugar, esta configurao define classes de arquivos e classes de dispositivos. Por
fim, especifica como devem ser as permisses quando o usurio ganhou o console e quando faz
logout. Por exemplo, os dispositivos do tipo floppy devem ter permisso 0660 com o dono sendo
o usurio (o grupo no alterado), e 0660 com donos root.floppy aps o logout do usurio. Este
tipo de esquema de permisses permite, por exemplo, que o usurio formate um disquete sem
que seja necessrio obter direitos de root na mquina.
SENAC-RR/2011
VERSES DO KERNEL
A verso de um kernel Linux composta de quatro nmeros. Juntos, eles infor-mam no s quo
recente o kernel, mas tambm algumas outras caractersticas.
Esses quatro nmeros que compem a verso do kernel so separados por pontos, no formato
A.B.C.D. O ltimo elemento D nem sempre utilizado, mas tem funo muito importante.
SUFIXOS DO KERNEL
Alm dos quatro nmeros, a verso do kernel pode possuir um sufixo que represen-ta um kernel
diferente do oficial chamado vanilla , que por sua vez representa um recurso adicional, uma
verso de testes ou outra diferena em relao verso oficial estvel.
Os sufixos mais comuns so rc e mm. O sufixo rc (release candidate, ou candidato verso)
representa um prepatch, que equivalente a uma verso alfa do kernel, e seus arquivos fonte
ficam no diretrio de teste no servidor do oficial do kernel (www. kernel.org). Essas verses
parciais so aplicadas ao kernel completo da verso imedia- tamente anterior, usando o
comando patch. Por exemplo, o patch 2.6.31-rc5 deve ser aplicado verso 2.6.30. Apenas as
verses de kernel com trs nmeros podem receber um patch rc. Portanto, as verses release
candidate no devem ser aplicadas a um kernel com quatro nmeros de verso, como 2.6.30.4.
SENAC-RR/2011
COMPILANDO UM KERNEL
Apesar de a maioria das distribuies acompanhar imagens de kernel pr-compila- das, pode ser
necessrio personalizar o kernel para corresponder a necessidades es- pecficas, como suporte a
hardware incomum ou a um sistema de arquivos extico. Tambm comum recompilar o kernel
para ocupar menos recursos e operar em mquinas mais antigas.
O cdigo-fonte do kernel pode ser obtido por meio de pacote especfico da dis- tribuio ou
diretamente do site oficial www.kernel.org. No ltimo caso, o cdigo distribudo como um
arquivo Tar compactado, e deve ser extrado no local padro, /usr/src/linux, que geralmente
um link simblico para o diretrio criado na extrao, como /usr/src/linux-x.x.xx.
SENAC-RR/2011
CONFIGURAO
A configurao de um novo kernel feita invocando o comando
, de dentro do diretrio
onde est o cdigo-fonte do kernel. Existem diferentes tipos de interfaces de configurao, mas a
mais tradicional a interface ncurses, invocada por meio do comando
. A
configurao feita no prprio terminal, numa interfa- ce simples de menu (figura 1).
Existem outras maneiras de configurar o kernel, mas todas elas produzem o mes- mo resultado,
que gerar o arquivo
no diretrio do cdigo-fonte do kernel. Interfaces alternativas
configurao via terminal so os assistentes de configurao feitos em Qt (figura 2) e em Gtk
(figura 3). Ambos devem ser executados de dentro do ambiente grfico X.
Figura 21 - A interface de configurao ncurses a mais simples e a mais utilizada para configurao do kernel.
SENAC-RR/2011
O arquivo gerado aps a configurao do kernel, .config, tambm pode ser edita- do num editor
de texto convencional. Porm, essa prtica no recomendada, pois alm de o arquivo ser
demasiado extenso h opes interdependentes que podem ser quebradas. A recomendao
sempre utilizar um meio tradicional de configurao.
Outras formas de configurar o kernel so:
make config: Criar ou atualizar a configurao por meio de uma interface orientada a
perguntas e respostas na linha de comando;
make oldconfig: Recupera todas as configuraes do arquivo .config pr- existente e
pergunta apenas sobre novas opes.
COMPILAO
Finalizada a configurao, o kernel j pode ser compilado. Se no for a primeira com- pilao do
kernel, pode ser conveniente executar
, que apaga as configu- raes e os
arquivos gerados durante uma compilao anterior. Dessa forma, se evita que hajam objetos
SENAC-RR/2011
Acelerando a compilao
Boa parte das mquinas modernas so equipadas com mais de um
processador ou processadores de mais de um ncleo. Para aproveitar essa
capacidade recomendvel disparar processos de compilao simultneos.
Isso feito com a opo -j do comando
. Por exemplo,
compilar o kernel em quatro processos simultneos, o que
agilizar bastante a compilao.
Para gerar a imagem zImage ou bzImage do kernel, utiliza-se
ou
,
respectivamente. Os comandos apenas funcionaro se for obedecida a grafia correta, com o I
maisculo em zImage e bzImage. A compilao pode demorar de minutos a horas, dependendo
do nmero de recursos escolhidos e do computador utilizado.
Provavelmente o novo kernel ser modular, e os mdulos precisaro ser compila- dos
separadamente. Isso feito com o comando
.
INSTALAO
Depois que o kernel e os mdulos forem compilados, necessrio copi-los para a localizao
correta e configurar o carregador de boot para que possa encontr-lo ao iniciar o sistema.
Num computador de arquitetura x86, o arquivo de imagem do novo kernel es- tar em
ou em
. Esse
arquivo deve ser copiado para o diretrio
e deve ser renomeado para algo mais claro e
apropriado, como vmlinuz-2.6.28-abc. O termo vmlinuz a nomenclatura padro para os
arquivos de kernel do Linux. Recomenda-se tambm especificar a verso no nome do kernel em
questo e utilizar um sufixo que indique a sua especificidade.
J os mdulos possuem comandos especficos para instalao. Aps compilados, so instalados
usando o comando
. Ser criado um diretrio com a numerao do kernel
em
. Portanto, para um kernel 2.6.30 o diretrio dos mdulos ser
. O comando
tambm se encarrega de gerar o
arquivo
nesse diretrio, que armazena as informa- es de interdependncia dos
mdulos.
INITIAL RAMDISK
A partir da verso 2.6 do kernel possvel criar um arquivo chamado Initial Ram- disk. Um Initial
ramdisk um pequeno conjunto de arquivos que carregado na memria RAM durante o
carregamento do kernel e montado como se fosse uma partio, porm sem que haja um sistema
de arquivos. Como o Initial Ramdisk montado antes da partio raiz, o motivo principal para
utiliza-lo a necessidade de utilizar um mdulo essencial para montar a partio raiz,
geralmente o mdulo que oferece suporte ao sistema de arquivos da partio raiz (xfs, ext3,
reiserfs etc.) ou o que oferece suporte para a controladora a qual o disco est conectado (SCSI,
RAID etc.). Como h muitas opes desse tipo disponveis na configurao do kernel, mais
prtico compilar um kernel genrico e adicionar esses recursos como mdulos.
SENAC-RR/2011
Dependendo da distribuio Linux utilizada, o comando que gera o Initial Ram- disk pode ser o
ou o
. No caso do mkinitrd, as opes mais importantes so -c (eliminar
rvore de diretrios usada para criao anterior do Ini- tial Ramdisk), -k (verso do kernel), -m
(lista de mdulos a incluir, separados por dois-pontos) e -o (nome para o Initial Ramdisk a ser
criado). Portanto, para criar um Initial Ramdisk para o Kernel 2.6.30 instalado incluindo o
mdulo xfs, faa:
# mkinitrd -c -k 2.6.30 -m xfs -o /boot/initrd-2.6.30.gz
Para incluir outros mdulos alm do xfs, basta separ-los por dois-pontos:
# mkinitrd -c -k 2.6.30 -m xfs:reiserfs:ext3 -o /boot/initrd-2.6.30.gz
A utilizao do mkinitramfs ligeiramente diferente. Todas as principais con- figuraes so
especificadas no arquivo
. Ali possvel definir quais
mdulos devem ser includos, em grupos pr-determinados ou individualmente. A principal
opo de linha de comando para o mkinitramfs -o, que determina o arquivo Initial Ramdisk.
Caso no seja informada a verso para qual deve ser gerada a Initial Ramdisk, ser assumida a
verso atual. Para gerar a Initial Ramdisk para o kernel 2.6.30 instalado, faa:
# mkinitramfs -o /boot/initramfs-2.6.30 2.6.30
Nas distribuies que utilizam o mkinitramfs, tambm h o comando
. No
lugar de criar uma nova Initial Ramdisk, ele atualiza aquela j existente de acordo com as opes
do arquivo initramfs.conf.
ATUALIZANDO O BOOTLOADER
Aps compilar e instalar o kernel e seus mdulos e criar a Initial Ramdisk, o carre- gador de boot deve
ser atualizado para que o kernel possa ser localizado e carregado aps o religamento do sistema.
Essa configurao feita de diferentes maneiras, dependendo de qual bootloader utilizado: LILO ou
GRUB.
No caso do Lilo, as alteraes so feitas no arquivo
. Por exemplo:
image = /boot/vmlinuz-2.6.30
root = /dev/sda1
initrd = /boot/initrd-2.6.30.gz
label = Linux-2.6.30
read-only
Aps editar o arquivo
alteraes tenham efeito.
, o comando
recomendvel manter o kernel anterior e apenas incluir o novo kernel, a fim de que seja
possvel iniciar o sistema com o kernel anterior caso haja algum problema.
Se o bootloader utilizado for o Grub, dev-se editar o arquivo
seguintes linhas, com as opes correspondentes ao novo kernel:
SENAC-RR/2011
. Inclua as
SENAC-RR/2011
SISTEMA DE IMPRESSO
O sistema de impresso de sistemas Unix-like (Linux) (CUPS) um sistema que permite ser
configurado pelo navegador web, para isso devemos ter instalado na mquina o servidor web
apache e o cups.
No debian e semelhantes
# apt-get install cupsys
# apt-get install apache2
No CUPS possvel o administrador do sistema adicionar, remover, gerenciar impressoras. O
CUPUS usa o protocolo Internet Printing Protocol (IPP) onde podemos configurar estaes da
rede local para adicionar impressora na rede e gerenciar trabalhos e filas de impresso
escutando conexes na porta 631.
Desktop
Administrao
Printing
O pessoal do Cups pensando em um servidor sem interface grfica criou uma ferramenta web de
administrao do cups, onde possvel adicionar e remover impressoras acessando pelo
navegador atravs da porta 631 digitando o endereo http://localhost:631.
Para acessar a administrao do cups pelo navegador necessrio ter o cups e o apache
instalados e os servios inicializados.
Obs: O cups j instalado na instalao do Linux.
# apt-get install apache2
# /etc/init.d/apache2 start
# /etc/init.d/cupsys start
Pronto agora acesse o cups pelo navegador pela url http://localhost:631 e adicionar
impressoras clicando no boto Add Printer.
Quando o servidor no possui interface grfica, voc pode adicionar impressoras utilizando
navegadores em modo texto como: lynx e links, mas caso deseje acessar a administrao do cups
remotamente de uma mquina da rede, edite o arquivo /etc/cups/cupsd.conf e acrescente a
linha abaixo da Listen localhost:631 informando o endereo IP do servidor (Listen
192.168.1.1:631) para aceitar aceitar conexes externas e acessar o cups pela rede adicionando
a porta do cups 631.
Listen localhost:631
Listen 192.168.1.1:631
Agora necessrio adicionar o endereo IP da mquina da rede que ir acessar o servidor cups
na diretiva /admin do arquivo /etc/cups/cupsd.conf, e acrescentar o endereo IP da mquina
que ir acessar o servidor (192.168.1.10).
<Location /admin>
Order allow,deny
Allow localhost
Allow From 192.168.1.10
</Location>
Para ter acesso aos arquivos de configurao do cups remotamente pelo navegador, necessrio
tambm adicionar o endereo IP da mquina que ir acessar o servidor (192.168.1.10) na
diretiva /admin/conf.
SENAC-RR/2011
<Location /admin/conf>
AuthType Basic
Require user @SYSTEM
Order allow,deny
Allow localhost
Allow From 192.168.1.10
</Location>
Para os clientes poderem imprimir remotamente necessrio configurar a diretiva / no inicio
do arquivo onde ficam as impressoras, e devemos adicionar o endereo da nossa rede
(192.168.1.*) nesta diretiva (onde o asterstico * corresponde a todos os micros da rede
192.168.1.0).
<Location />
Order allow,deny
Allow localhost
Allow From 192.168.1.*
</Location>
Pronto agora depois que a impressora est instalada e configurada, teste e reinicie o servio do
cups no servidor.
# /etc/init.d/cupsys restart
Iniciar
Painel de controle
Impressoras e aparelhos de fax
Adicionar uma impressora
Uma Impressora de rede ou conectada em outro computador
Conectar-se a uma impressora na internet ou em uma rede domstica ou no escritrio
Na caixa URL digite:
o http://Nome-ou-IP-do-seu-servidor-com-CUPS:631/printers/nome-daimpressora
SENAC-RR/2011
SENAC-RR/2011
BACKUPS
Os backups devem fazer parte da rotina de operao dos seus sistemas e seguir uma poltica
determinada. O melhor faz-los da forma mais automatizada possvel, de modo a reduzir o seu
impacto sobre o trabalho dos administradores e operadores de sistemas.
A lista de itens cujo backup deve ser feito com freqncia inclui:
dados;
arquivos de configurao;
logs.
Um ponto que merece especial cuidado o backup de binrios (executveis e bibliotecas), que
geralmente deve ser evitado. Uma exceo a essa regra uma cpia completa do sistema logo
aps a sua instalao, antes que ele seja colocado em rede. Backups que incluem binrios no so
aconselhveis porque abrem a possibilidade de que eventuais Cavalos de Tria ou executveis
corrompidos sejam reinstalados na restaurao do sistema.
Alguns cuidados devem ser tomados em relao ao local onde so guardados os backups:
o acesso ao local deve ser restrito, para evitar que pessoas no autorizadas roubem ou
destruam backups;
o local deve ser protegido contra agentes nocivos naturais (poeira, calor, umidade);
se possvel, aconselhvel que o local seja tambm prova de fogo.
Os backups devem ser verificados logo aps a sua gerao e, posteriormente, em intervalos
regulares. Isto possibilita a descoberta de defeitos em dispositivos e meios de armazenamento e
pode evitar que dados sejam perdidos por problemas com backups que no podem ser
restaurados.
Algumas organizaes providenciam meios para armazenar backups fora das suas instalaes,
como em cofres de bancos, por exemplo. Essa uma boa maneira de garantir a disponibilidade
dos backups em caso de problemas nas instalaes. Entretanto, isso pode comprometer a
confidencialidade e a integridade desses backups. Uma possvel soluo criptografar o backup
e gerar um checksum (MD5 ou SHA-1, por exemplo) dele antes que seja entregue a pessoas de
fora da organizao. Uma verificao do checksum antes da restaurao pode servir como prova
de que o backup no foi alterado desde que foi feito.
Quando for necessrio restaurar um sistema, isto deve ser feito com a mquina isolada da rede.
Caso o sistema em questo tenha sido comprometido, revise a sua configurao aps a
restaurao para certificar-se de que no tenha ficado nenhuma porta de entrada previamente
instalada pelo invasor.
POLTICAS DE BACKUP
As combinaes de backup mais comuns so: o backup total, backup incremental e backup
diferencial. Abaixo segue uma breve descrio de cada uma das combinaes citadas.
BACKUP TOTAL
o backup que abrange na ntegra todos os arquivos e diretrios existentes no servidor.
SENAC-RR/2011
Vantagens:
Desvantagens:
BACKUP INCREMENTAL
Backup incremental o mtodo de backup onde mltiplos backups so mantidos (e no apenas
o ltimo). Em um backup incremental, cada arquivo armazenado uma nica vez e, em seguida,
sucessivos backups contm apenas as informaes que mudaram desde uma cpia de segurana
anterior.
O backup incremental altamente eficiente, uma vez que permite o armazenamento de {N}
cpias de tamanho {S}, divididos em pedaos, com um total de armazenamento exigido muito
inferior a {NxS}. Se a informao inicial que o backup no mudou entre os backups, o tamanho
total ser prximo de {S}. Se ele mudou quase completamente, o tamanho do backup ser
aproximadamente {NxS}.
Vantagens:
Desvantagens:
Para restaurar todos os arquivos, voc deve ter todos os backups incrementais
disponveis.
Pode levar mais tempo para restaurar um arquivo especfico, pois necessrio pesquisar
mais de um conjunto de backup para encontrar a verso mais recente de um
determinado arquivo.
BACKUP DIFERENCIAL
Backup diferencial um backup cumulativo de todas as alteraes feitas desde o ltimo backup
completo. Juntos, um backup total e um backup diferencial devem incluir todos os os arquivos no
computador, alterados e inalterados.
Vantagens:
Desvantagens:
Restaurando todos os arquivos pode levar consideravelmente mais tempo, pois voc
pode ter que restaurar tanto o ltimo backup diferencial e completo.
SENAC-RR/2011
Restaurar um arquivo individual pode demorar mais, pois necessrio voc que localize
o arquivo em um backup completo ou incremental.
Com base nas combinaes acima, podemos elaborar uma boa poltica de backup que garanta a
segurana e disponibilidade das informaes de nosso ambiente, mantendo a vida do
administrador de sistemas muito mais tranquila em situao de inicidente. Espero que seja til
para todos.
SENAC-RR/2011
SENAC-RR/2011
rotear os pacotes a seu destino o TCP utiliza portas. Assim como endereos IP, as portas de
origem no so verificadas pelo emissor, podendo assim serem falsificados por um atacante.
Porta de origem (16 bits)
Porta de
destino
(16 bits)
P
(Push)
R
(Reset)
S
(Syn)
F
(Fin)
Janela
(16 bits)
Ponteiro
urgente
(16 bits)
Descrio
o primeiro pacote a ser enviado em uma conexo entre a origem e o destino
O destino responde ao pacote SYN, confirmando sua mensagem original e
enviando SYN como resposta
Cada pacote utilizado em uma conexo estabelecida possui um bit ACK
ativado para confirmar os pacotes recebidos anteriormente
No momento em que uma conexo estiver sendo fechada, ser enviado um
pacote FIN para o outro
Este tipo de combinao utilizada para confirmar o primeiro pacote FIN e
completar o encerramento da conexo
Quando um pacote enviado de forma inesperada enviado um pacote
reset(RST), por exemplo, em uma conexo se for recebido um pacote SYN ACK
sem ter enviado um pacote SYN ser enviado um pacote RST
SENAC-RR/2011
COMANDOS DE REDE
SENAC-RR/2011
dig - Faz consulta a servidores DNS para resolver nomes de recursos referentes ao endereo
de ip
$ dig -h (para opes)
$ dig google.com.br -t NS
ping- Envia uma requisio ICMP ECHO_REQUEST para a um host na rede, utilizado para
testar a conectividade entre um host local e um remoto.
$ ping --help (opes)
$ ping www.google.com.br
$ ping -c 3 www.google.com.br (Envia 3 pacotes ECHO_REQUEST e para)
traceroute - Traa a rota percorrida por pacotes que saem do host local at alcanar um host
remoto.
$ traceroute www.wikipedia.org
SENAC-RR/2011
SENAC-RR/2011
SERVIDOR DNS
Pacote necessrio:
Bind9;
INSTALAO
Primeiro abra um terminal e se logue como root, a instalao do Bind9 pode ser feita atravs do
seguinte comando:
# apt-get install bind9
Depois desse comando ser criado um diretrio onde ficam os arquivos de configurao do
Bind9.
CONFIGURAO
Com o Debian muito simples configurarmos um servidor DNS. Primeiramente devemos ir at o
diretrio do Bind9, que fica em /etc/bind. L veremos o arquivo de configurao que o
named.conf e os arquivos referenciados nas zonas do named.conf.
Vamos pr a mo na massa. Devemos editar o named.conf, procure utilizar o editor de sua
preferncia, aqui utilizarei o vim. Veja o exemplo:
# cd /etc/bind
# vim named.conf
O arquivo deve ser algo + - assim:
zone "." {
type hint;
file "/etc/bind/db.root";
};
zone "localhost" {
type master;
file "/etc/bind/db.local";
};
zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};
zone "0.in-addr.arpa" {
SENAC-RR/2011
type master;
file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};
Voc deve acrescentar duas zonas referentes ao seu domnio e ao seu IP, como por exemplo:
## minhas zonas ##
zone "robinho.com.br"{ (seu domnio)
type master;
file "/etc/bind/db.robinho.com.br"; (esse arquivo nos criaremos e a
referencia desta zona o domnio)
};
zone "1.168.192.in-addr.arpa"{ (seu ip reverso )
type master;
file "/etc/bind/db.1.168.192"; (esse arquivo nos criaremos e a
referencia desta zona o ip reverso)
};
## fim das minhas zonas ##
Isso deve ser acrescentado no fim do arquivo de configurao named.conf. Agora vamos criar os
arquivos que so referenciados nas zonas, esses arquivos devem ser salvos junto com o arquivo
de configurao, dentro de /etc/bind.
Vamos ao primeiro arquivo do domnio, o db.robinho.com.br. Edite para que fique desta forma:
$TTL 604800 (nome da mquina.seu domnio) (root.nome da
mquina.seu domnio)
@
IN SOA MyMaster.robinho.com.br
root.MyMaster.robinho.com.br (
1
; Serial
604800
; Refresh
86400
; Retry
2419200
; Expire
604800 )
; Negative Cache TTL
;
MyMaster IN A 192.168.1.3 (nome da mquina depois seu IP)
www
IN A 192.168.1.3
mail
IN A 192.168.1.3
@
IN MX 5 MyMaster.robinho.com.br. c
@
IN NS
MyMaster.robinho.com.br. (nome da mquina.seu
domnio)
@
IN A 192.168.1.3 ;(seu ip)
Depois devemos criar o arquivo referente ao seu IP reverso (db.1.168.192) e deix-lo assim:
SENAC-RR/2011
Esse arquivo e responsvel pelo acesso ao DNS. Para testar e ver se tudo est funcionando, basta
apenas utilizar o comando ping, veja:
$ ping robinho.com.br
(seu domnio)
$ ping www.robinho.com.br
(site de seu domnio)
$ ping mail.robinho.com.br
(email de seu domnio)
$ ping www.google.com.br
(um site qualquer para ver se est resolvendo mesmo)
Todos esses endereos devem responder e com seu IP como resposta
SENAC-RR/2011
Substitua os valores em negrito pelos endereos utilizados na sua rede. Ao terminar, reinicie o
servio.
SENAC-RR/2011
SENAC-RR/2011
Substitua o "192.168.1.0" pela faixa de endereos utilizada na sua rede local. Reinicie o
servio para ativar a nova configurao.
SENAC-RR/2011
SENAC-RR/2011
http://www.cacti.net/downloads/cacti-0.8.6f.tar.gz
http://www.cacti.net/downloads/
# mv cacti-0.8.6f /var/www/cacti
SENAC-RR/2011
CONFIGURANDO O CACTI
Entre no diretrio onde ele est instalado:
# cd /var/www/cacti
E execute os seguintes comandos (todos como root):
# mysqladmin --user=root create cacti
(este comando cria o banco de dados)
# mysql cacti < cacti.sql
(este comando importa a estrutura do banco de dados)
Agora precisamos acessar o banco de dados e ajustar as permisses de acesso:
# mysql --user=root mysql
(este comando te leva para o shell do MySQL)
Aps digitar este comando, observe que sua shell agora muda e aparece "mysql>". Digite os
seguintes comandos:
mysql> GRANT ALL ON cacti.* TO root@localhost IDENTIFIED BY
'coloqueasenhadorootaqui';
(este comando diz que o usurio do BD Cacti o root)
mysql> FLUSH PRIVILEGES;
(este comando completa esta fase)
Agora vamos configurar o Cacti. Edite o arquivo config.php (uso o mcedit, mas pode ser qualquer
editor):
# mcedit /var/www/cacti/include/config.php
$database_default = "cacti"; # Nome do Banco de Dados - No mexer
$database_hostname = "localhost"; # Nome do host - No mexer
$database_username
=
"cactiuser";
#
Mude
para
root
$database_password = "cacti"; # Mude para a senha do root
SENAC-RR/2011
Aps editar, salve o arquivo e saia. Inclua esta linha no seu crontab:
*/5 * * * * php /var/www/cacti/poller.php > /dev/null 2>&1
SENAC-RR/2011
SENAC-RR/2011
broadcast 192.168.1.255
gateway 192.168.1.1
Como voc pode ver, as ltimas 5 linhas especificam o IP utilizado pelo servidor e o restante da
configurao da rede, com exceo dos endereos dos servidores DNS, que vo em um arquivo
separado, o "/etc/resolv.conf". Ele utiliza uma sintaxe simples, onde cada um dos dois
endereos especificado em uma linha, comeando com "nameserver", como em:
nameserver 208.67.222.222
nameserver 208.67.220.220
Depois de configurar a rede, reinicie o servio "networking", para que a configurao entre em
vigor:
# /etc/init.d/networking restart
Ao reiniciar a rede, o endereo IP do servidor ser trocado, fazendo com que o terminal do SSH
pare de responder. Isso normal e esperado. Basta abrir outro terminal e conectar de novo,
desta vez no novo endereo.
Quando voc loca um servidor dedicado, voc recebe o servidor neste ponto, com o sistema
instalado, a rede j configurada e o servidor SSH aberto, permitindo que voc se logue
remotamente, um detalhe importante, j que o servidor estar fisicamente muito distante de
voc, provavelmente em um datacenter nos EUA ou na Europa.
SENAC-RR/2011
Em muitos casos, ao assinar o plano, voc pode solicitar a instalao de alguns pacotes
especficos, de forma que o servidor j venha pr-configurado como um servidor LAMP, por
exemplo, mas isso no uma regra.
SENAC-RR/2011
BIBLIOGRAFIA
ARTIGOS. GDH. Disponivel em: <http://www.hardware.com.br/>. Acesso em: 20 Junho 2011.
HISTRIA do Linux. NETFILES. Disponivel em: <https://netfiles.uiuc.edu/rhasan/linux/>.
Acesso em: 28 Junho 2011.
INSTALANDO o Cacti em plataforma Debian. Viva
<http://www.vivaolinux.com.br/>. Acesso em: 07 Julho 2011.
Linux.
Disponivel
em:
MIT. A histria completa do MULTCS. MIT. Disponivel em: <http://web.mit.edu/multicshistory>. Acesso em: 28 Julho 2011.
MORIMOTO, C. E. Servidores Linux - Gruia Prtico. So Paulo: GDH Press e Sul Editores, 2008.
MORIMOTO, C. E. Linux - Guia Prtico. So Paulo: GDH Press e Sul Editores, 2009.
PROJETO Linux Brasil. Linux Brasil. Disponivel em: <http://www.linuxbrasil.org.br>. Acesso
em: 20 Junho 2011.
SILVA, G. M. D. Guia Foca GNU/Linux. Guia
<http://www.guiafoca.org>. Acesso em: 20 Junho 2011.
Foca
Linux.
Disponivel
em:
SIQUEIRA, L. A. Curso completo para LPIC-2. 2. ed. So Paulo: Linux New Media do Brasil
Editora Ltda., 2009.
SUNGAILA, M. LPI-101 Administrao de Sistemas Linux. So Paulo: Green Treinamentos,
2006.
SUNGAILA, M. LPI-102 Administrao de Redes Linux. So Paulo: Grenn Treinamentos, 2006.
SENAC-RR/2011