Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

  • Upload
    arbonan

  • View
    238

  • Download
    0

Embed Size (px)

Citation preview

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    1/105

    Guia de Estudo

    LPIC 102por Luciano Antonio Siqueira

    Lanado sob os termos daGnu Free Documentation License

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    2/105

    ndiceIntroduo.............................................................................................................................................5

    Porque este documento foi escrito?............................................................................................ 5 Quem se Destina..................................................................................................................... 5Verso Atualizada do Guia......................................................................................................... 5Contribuies.............................................................................................................................. 5Informaes de Copyright...........................................................................................................5Pr-requisitos.............................................................................................................................. 6Convenes usadas neste documento......................................................................................... 6

    Tpico 105: Kernel...............................................................................................................................7Objetivo 1.105.1: Manipular/Investigar o Kernel e seus Mdulos em Execuo........................... 7

    Kernel..........................................................................................................................................7Mdulos do Kernel......................................................................................................................7

    Objetivo 1.105.2: Reconfigurar, Compilar e Instalar um Kernel e Mdulos Personalizados......... 9Configurao...............................................................................................................................9

    Compilao e Instalao........................................................................................................... 11Tpico 106: Carregamento (Boot), Incio e Trmino do Sistema e Runlevels.................................. 13Objetivo 1.106.1: Carregamento (Boot) do Sistema......................................................................13Objetivo 1.106.2: Alternando Runlevels, Desligando e Reiniciando o Sistema........................... 14

    Tpico 107: Impresso....................................................................................................................... 17Objetivo 1.107.2: Instalar Impressoras e Filas de Impresso........................................................ 17

    Administrao de Impressoras pela Linha de Comando...........................................................17Arquivos de Configurao do CUPS........................................................................................ 19Filas de Impresso.....................................................................................................................19/etc/printcap...............................................................................................................................20

    Objetivo 1.107.3: Imprimindo Arquivos....................................................................................... 20

    Objetivo 1.107.4: Impressoras Locais e Remotas..........................................................................20Impresso Remota.....................................................................................................................20Filtros de Impresso..................................................................................................................21

    Tpico 108: Documentao................................................................................................................23Objetivo 1.108.1: Usar e Administrar o Sistema Local de Documentao................................... 23

    Pginas Manual.........................................................................................................................23Imprimindo Pginas de Manual................................................................................................ 24Pginas Info...............................................................................................................................24Outras Documentaes............................................................................................................. 24

    Objetivo 1.108.2: Encontrar Documentao Linux na Internet.....................................................24Objetivo 1.108.5: Informar o Usurio sobre Questes Pertinentes ao Sistema.............................25

    Tpico 109: Shells, Script, Programao e Compilao.................................................................... 27Objetivo 1.109.1: Personalizar e Trabalhar no Ambiente Shell.................................................... 27

    Variveis................................................................................................................................... 27Funes..................................................................................................................................... 27Arquivos de configurao do bash:...........................................................................................28

    Objetivo 1.109.3: Editar e Escrever Scripts Simples.....................................................................29Variveis Especiais................................................................................................................... 29if then else................................................................................................................................. 29Substituio de Comandos........................................................................................................ 31Instrues de Lao.................................................................................................................... 32Local, Propriedade e Permisso................................................................................................33Scripts para Tarefas Administrativas........................................................................................ 33

    Tpico 111: Tarefas Administrativas................................................................................................. 35Objetivo 1.111.1: Administrar Contas de Usurio, Grupos e Arquivos de Sistema Relacionados

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    3/105

    ....................................................................................................................................................... 35Conta de Usurio.......................................................................................................................35Grupos de Usurios...................................................................................................................38

    Objetivo 1.111.2: Ajustar o Ambiente do Usurio e Variveis de Ambiente de Sistema.............40Objetivo 1.111.3: Configurar e Recorrer a Arquivos de log para Corresponder s NecessidadesAdministrativas e de Segurana.....................................................................................................40

    Objetivo 1.111.4: Automatizar Tarefas Administrativas de Sistema Agendando Trabalhos paraExecuo Futura............................................................................................................................ 42at................................................................................................................................................42cron............................................................................................................................................42

    Objetivo 1.111.5: Manter uma Estratgia Eficiente de Backup de Dados.................................... 43Objetivo 1.111.6: Manuteno de Data e Hora do Sistema...........................................................44

    Relgios e Fuso Horrio........................................................................................................... 44NTP Network Time Protocol.................................................................................................45

    Tpico 112: Fundamentos de Redes...................................................................................................47Objetivo 1.112.1: Fundamentos de TCP/IP...................................................................................47

    Endereo IP...............................................................................................................................47

    Endereo de rede, mscara de rede e endereo broadcast.........................................................47Classes de Redes....................................................................................................................... 48Subredes....................................................................................................................................48IPv4 e IPv6................................................................................................................................50Protocolos de rede.....................................................................................................................50Portas TCP e UDP.....................................................................................................................51Rotas de Endereos...................................................................................................................52

    Objetivo 1.112.3: Configurao e Resoluo de Problemas de Redes TCP/IP.............................54Arquivos de configurao......................................................................................................... 54Configurao da interface......................................................................................................... 55Configurao de Rotas..............................................................................................................55Clientes DHCP..........................................................................................................................56Comandos de Configurao e Inspeo.................................................................................... 56

    Objetivo 1.112.4: Configurar o Linux como um Cliente PPP.......................................................58Tpico 113: Servios de Rede............................................................................................................61

    Objetivo 1.113.1: Configurar e Administrar o inetd, xinetd e Servios Relacionados..................61O daemon inetd.........................................................................................................................61O daemon xinetd.......................................................................................................................62Configurao de Servios......................................................................................................... 62Controle de Pedidos.................................................................................................................. 63

    Objetivo 1.113.2: Operao e Configurao Fundamental de MTA.............................................64

    sendmail.................................................................................................................................... 64Objetivo 1.113.3: Operao e Configurao Fundamental do Apache......................................... 65Objetivo 1.113.4: Administrao Apropriada dos Daemons NFS e SAMBA...............................66

    NFS........................................................................................................................................... 66SAMBA.................................................................................................................................... 67

    Objetivo 1.113.5: Configurar um Servio Bsico de DNS............................................................69DNS...........................................................................................................................................69Servidor DNS............................................................................................................................69Cliente DNS..............................................................................................................................70Registro de Domnios................................................................................................................70

    Objetivo 1.113.7: Utilizao do Shell Seguro (OpenSSH)............................................................70

    Tpico 114: Segurana....................................................................................................................... 73Objetivo 1.114.1: Tarefas Administrativas de Segurana............................................................. 73TCP wrappers............................................................................................................................73

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    4/105

    SUID/SGID...............................................................................................................................74Verificao de pacotes.............................................................................................................. 75Senhas....................................................................................................................................... 75Atualizao de programas.........................................................................................................77Filtragem de Pacotes iptables.................................................................................................78Exemplo de criao de firewall simples................................................................................... 79

    Verificando portas abertas no sistema...................................................................................... 80Objetivo 1.114.2: Segurana do Host............................................................................................ 81syslog........................................................................................................................................ 81Sistema de senhas shadow........................................................................................................ 82Desativando servios de rede....................................................................................................82

    Objetivo 1.114.3: Segurana a Nvel de Usurio...........................................................................82Apndice 1..........................................................................................................................................85

    Objetivos detalhados para o exame 102........................................................................................ 85Exam 102: Detailed Objectives..................................................................................................... 85

    Topic 105: Kernel..................................................................................................................... 85Topic 106: Topic 106 Boot, Initialization, Shutdown and Runlevels.......................................86

    Topic 107: Printing................................................................................................................... 87Topic 108: Documentation........................................................................................................88Topic 109: Shells, Scripting, Programming and Compiling.....................................................89Topic 111: Administrative Tasks..............................................................................................90Topic 112: Networking Fundamentals......................................................................................92Topic 113: Networking Services...............................................................................................94Topic 114: Security...................................................................................................................96

    Apndice 2..........................................................................................................................................99GNU Free Documentation License................................................................................................99

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    5/105

    Introduo

    Porque este documento foi escrito?

    Este material foi escrito quando da minha prpria preparao para os exames da certificao LPInvel 1. Depois de terminado, considerei que poderia ser til para outras pessoas que buscam acertificao e sentem falta de material especfico em portugus. O exame para obteno docertificado dividido em duas provas, 101 e 102. Este volume especfico para a prova 102 e foiescrito tendo como referncia os objetivos detalhados para prova 102 fornecidos pelo prprio LPI.A lista dos objetivos detalhados para o exame 102 pode ser conferida no primeiro apndice do

    presente volume. Mais informaes sobre o LPI e suas certificaes em http://www.lpi.org/.

    Todo material contido neste guia foi basicamente retirado de HOWTOs, pginas de manual deprogramas e demais documentos disponveis atravs do Linux Documentation Project. Outraimportante fonte foi o livroLinux System Administration 2, lanado pelo LinuxIT, disponvel emhttp://savannah.nongnu.org/projects/lpi-manuals/ .

    Quem se Destina

    O presente material destina-se todos que desejam obter a certificao Linux LPI nvel 1. Noentanto, o guia tambm poder ser til a quem no pretende obter a certificao, mas interessa-seem aprofundar seus conhecimentos em administrao de sistemas GNU/Linux.

    Verso Atualizada do Guia

    Verses atualizadas deste guia podem ser obtidas em http://lcnsqr.byethost15.com/ .

    Contribuies

    Todos leitores so convidados a contribuir para o guia. Sugestes para aprofundar os tpicos eexerccios para cada objetivo sero muito bem vindos.

    Caso identifique informaes incorretas, erros de ortografia ou outros equvocos, informe o autor:

    Informaes de CopyrightCopyright (c) Luciano Antonio Siqueira.

    Permission is granted to copy, distribute and/or modify this documentunder the terms of the GNU Free Documentation License, Version 1.2or any later version published by the Free Software Foundation;with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.A copy of the license is included in the section entitled "GNUFree Documentation License".

    Leia The GNU Manifesto se voc quiser saber porqu essa licena foi escolhida para esse material.

    O guia foi escrito com todo esforo para garantir a confiabilidade das informaes contidas. Noentanto, as informaes aqui contidas so oferecidas sem qualquer garantia, expressa ou implcita.O responsvel pelo material aqui apresentado no se responsabiliza por possveis danos causados ou

    alegao do gnero em relao este livro. Tampouco a leitura deste guia garantia de sucesso naobteno da certificao LPI nvel 1.

    5

    http://www.lpi.org/http://www.tldp.org/http://savannah.nongnu.org/projects/lpi-manuals/http://lcnsqr.byethost15.com/mailto:lcnsqr%20em%20yahooEcomEbrmailto:lcnsqr%20em%20yahooEcomEbrmailto:lcnsqr%20em%20yahooEcomEbrmailto:lcnsqr%20em%20yahooEcomEbrhttp://www.gnu.org/gnu/manifesto.htmlhttp://www.tldp.org/http://savannah.nongnu.org/projects/lpi-manuals/http://lcnsqr.byethost15.com/mailto:lcnsqr%20em%20yahooEcomEbrhttp://www.gnu.org/gnu/manifesto.htmlhttp://www.lpi.org/
  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    6/105

    Introduo

    Os logotipos, marcas registradas e smbolos usados neste livro so de propriedade de seusrespectivos proprietrios.

    Pr-requisitos

    Para melhor utilizao deste guia, presume-se que o leitor j esteja familiarizado com o sistemaGNU/Linux. Portanto, os assuntos so abordados de maneira direta, com objetivo de serem apenasreferncia rpida para posterior estudo e exerccio mais aprofundados. O material foi escrito etestado num computador rodandoLinux Slackware 10.2.

    Convenes usadas neste documento

    Comandos, opes de comandos, caminhos para arquivos/diretrios, sadas de programas einformaes entradas ou tiradas de telas de terminal em geral so apresentados com fonte detamanho fixo:

    Exemplo de tabela de rotas mostradas com o comando route:

    Kernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface200.228.60.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo0.0.0.0 200.228.60.1 0.0.0.0 UG 0 0 0 eth0

    Argumentos de comandos so geralmente mostrados em itlico, significando que devem sersubstitudos por valor apropriado:

    shutdown[opo] horrio [mensagem]

    Tambm so mostrados em itlico nomes e termos especficos ao tema:Projetos GNU geralmente incluem documentaes comoFAQ,Readme, ChangeLoge Guia deusurio/administrador. Podem estar no formatoASCII,HTML,LateXoupostscript. Estes arquivos

    podem ser encontrados em /usr/share/doc, em diretrios correspondentes aos programas.

    Termos em negrito so usados quando introduzidos ou muito relevantes para o assunto:

    Uma conta de usurio pode ser apagada com o comando userdel. A opo -r assegura que odiretrio pessoal do usurio tambm seja apagado.

    6

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    7/105

    Tpico 105: Kernel

    Objetivo 1.105.1: Manipular/Investigar o Kernel e seus

    Mdulos em ExecuoPeso: 4

    Kernel

    OKernel o ncleo do sistema, responsvel pela comunicao entre os programas e as instruesde baixo nvel (basicamente hardware) do sistema. O comando uname utilizado para retornarinformaes a respeito do kernel do sistema. Quando usado apenas com a opo -a retorna todas asinformaes sobre o kernel, na seguinte ordem:

    1. NOME-DO-KERNEL

    2. NODENAME (nome do host)

    3. RELEASE-DO-KERNEL

    4. VERSO-DO-KERNEL

    5. MQUINA

    6. PROCESSADOR

    7. PLATAFORMA-DE-HARDWARE

    8. SISTEMA-OPERACIONAL

    Demais opes do uname:

    -i Plataforma de Hardware

    -m Hardware da mquina

    -n Nome do Host (nodename)

    -p Processador

    -o Sistema Operacional

    -r Release do Kernel

    -s Nome do Kernel-v Verso do Kernel

    Exemplo de sada do comando uname -a:

    $ uname -aLinux slack102 2.6.13 #1 SMP Thu Mar 23 01:57:38 BRT 2006 i686 unknown unknownGNU/Linux

    Mdulos do Kernel

    Funes especializadas do kernel podem existir na forma de mdulos externos. Mdulos soarmazenados em /lib/modules/x.x.xx/(onde x.x.xx o release do kernel do sistema) e

    7

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    8/105

    Tpico 105: Kernel

    so carregados e descarregados dinamicamente atravs dos comandosmodprobe ou insmod.Mesmo o comando sendo insmod ainda aceito, o comando padro para manejo de mdulos nasverses mais recentes do kernel o modprobe.

    A diferena entre os dois comandos que modprobe carrega o mdulo especificado e os mdulosdos quais depende, conforme listados no arquivo /lib/modules/x.x.xx/modules.dep, einsmod carrega o mdulo sem verificar as dependncias. O arquivo modules.dep armazena asdependncias de cada mdulo e gerado ou atualizado pelo comando depmod -a. Essa tarefa

    pode ser realizada manualmente, mas se forem detectados novos mdulos durante o carregamentodo sistema, depmod -a ser executado automaticamente.

    O comando lsmodlista os mdulos carregados. Mdulos marcados com (autoclean) podem serdescarregados com o comando modprobe -ra ou rmmod -a. Mdulos marcados com (unused)

    podero ser removidos se seus respectivos nomes forem fornecidos como argumento paramodprobe -r ou rmmod. Os demais mdulos esto em uso e no recomendado seu

    descarregamento.Exemplo de lista de mdulos carregados:

    # lsmodModule Size Used bysnd_pcm_oss 49696 0snd_mixer_oss 18560 2 snd_pcm_ossehci_hcd 30472 0sis900 20352 0ohci_hcd 20356 0snd_cmipci 32800 1gameport 13448 1 snd_cmipcisnd_pcm 84100 2 snd_pcm_oss,snd_cmipcisnd_page_alloc 9608 1 snd_pcmsnd_opl3_lib 10240 1 snd_cmipcisnd_timer 22788 2 snd_pcm,snd_opl3_libsnd_hwdep 8480 1 snd_opl3_libsnd_mpu401_uart 7424 1 snd_cmipcisnd_rawmidi 21792 1 snd_mpu401_uartsnd_seq_device 7948 2 snd_opl3_lib,snd_rawmidisnd 48100 10 snd_pcm_oss,snd_mixer_oss,snd_cmipci,snd_pcm,snd_opl3_lib,snd_timer,snd_hwdep,snd_mpu401_uart,snd_rawmidi,snd_seq_device

    O comando modinfo retorna a descrio, autor, licena e parmetros para o mdulo solicitado.Tendo como argumento apenas o nome do mdulo, retorna todas as informaes disponveis:

    Informaes do mdulo gameport

    # modinfo gameportfilename: /lib/modules/2.6.13/kernel/drivers/input/gameport/gameport.koauthor: Vojtech Pavlik description: Generic gameport layerlicense: GPLvermagic: 2.6.13 SMP preempt PENTIUMIII gcc-3.3depends:

    As opes -l e -p mostram, respectivamente, as informaes de licena e parmetros aceitveispara o mdulo solicitado.

    Licena do mdulo sis900:

    8

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    9/105

    Tpico 105: Kernel

    # modinfo -l sis900GPL

    Parmetros aceitveis pelo mdulo sis900:

    # modinfo -p sis900multicast_filter_limit:SiS 900/7016 maximum number of filtered multicastaddressesmax_interrupt_work:SiS 900/7016 maximum events handled per interruptsis900_debug:SiS 900/7016 bitmapped debugging message level

    Para modificar os valores padro de parmetros, basta indic-los quando carregando os mduloscomo modprobe ou insmod:

    # modprobe sis900 multicast_filter_limit=valor

    Mas o mais comum que os mdulos sejam carregados automaticamente pelo sistema. Por isso, osparmetros podem ser armazenados no arquivo /etc/modules.conf. O mesmo parmetro do

    exemplo poderia estar em /etc/modules.conf na forma:options sis900 multicast_filter_limit=valor

    Tambm atravs do arquivo /etc/modules.conf possvel criaraliases (cognomes) paramdulos, de forma que possam ser invocados usando um nome convencional. Exemplo de aliasesem /etc/modules.conf:

    alias eth0 sis900alias sound-slot-0 snd_cmipci

    Aliases e opes tambm podem ser definidos da mesma forma no arquivo/etc/modprobe.conf. Atravs deste arquivo, tambm possvel definir as aes para eventosde carregamento e descarregamento de mdulos, como a execuo de um programa.

    Exemplo: Quando solicitado a carregarsis900, carregartun e s depois sis900:

    install sis900 modprobe tun; modprobe --ignore-install sis900

    A opo --ignore-install necessria para que o modprobe no execute novamente alinha install referente sis900 em /etc/modprobe.conf. possvel usar o mesmo

    procedimento quando do descarregamento de mdulos:remove sis900 modprobe --ignore-remove -r sis900; modprobe -r tun

    Dessa vez, a opo --ignore-remove aparece para impedir a execuo cclica da linha removereferente ao mdulo sis900 em /etc/modprobe.conf.

    Objetivo 1.105.2: Reconfigurar, Compilar e Instalar umKernel e Mdulos Personalizados.Peso: 3

    Configurao

    O local padro de armazenamento do cdigo fonte do kernel /usr/src/linux, que um linksimblico para /usr/src/linux-x.x.xx/ (onde x.x.xx o release do kernel). Existe mais

    de uma interface para configurar o kernel, e todas elas desempenham a mesma funo. As

    9

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    10/105

    Tpico 105: Kernel

    interfaces de configurao so invocadas atravs do comando make:

    make config

    Interface em linha de comando. feita uma sequncia de perguntas (bastante extensa) sobre

    cada aspecto da configurao.make menuconfig

    Interface de menus ncurses.

    make xconfig

    Interface grfica X, utilizando a biblioteca QT.

    make gconfig

    Interface grfica X, utilizando a biblioteca Gtk.

    make oldconfig

    Usa as configurao anteriores como ponto de partida para uma nova configurao.Enquanto que alguns recursos precisam ser compilados como estticos (embutidos no kernel), amaioria pode ser compilada como dinmico (mdulo). O item marcado com asterisco (*) sercompilado como esttico e o item marcado com a letra M ser compilado como mdulo. Itensdeixados em branco no sero compilados. Espaos de escolha [ ] indicam que o item s poderser compilado como esttico e espaos de escolha < > indicam que o item poder ser compiladotanto como esttico quanto mdulo.

    A configurao do kernel est dividida nos eixos principais:

    Code maturity level options

    Mostrar ou no recursos considerados instveis

    General setup

    Caractersticas gerais do kernel. possvel incluir um termo de verso para o kernelpersonalizado

    Loadable module support

    Suporte ao sistema de mdulos e define algumas caractersticas.

    Processor type and features

    Indica o tipo de processador que o kernel utilizar e recursos como multiprocessamento.Power management options (ACPI, APM)

    Opes relativas ao controle de energia. Indicado especialmente para laptops

    Bus options (PCI, PCMCIA, EISA, MCA, ISA)

    Suporte para os diferentes tipos de barramentos

    Executable file formats

    Tipos de arquivos que o sistema ser capaz de executar

    Networking

    Suporte e configurao dos diferentes tipos de plataformas de rede

    10

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    11/105

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    12/105

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    13/105

    Tpico 106: Carregamento (Boot), Incio eTrmino do Sistema e Runlevels

    Objetivo 1.106.1: Carregamento (Boot) do SistemaPeso: 3

    Antes de carregar o kernel, oLILO apresenta um prompt no qual possvel alterar ocomportamento padro de carregamento do sistema. Esse prompt aparece na forma:boot:

    Onde possvel indicar o kernel a carregar, passar parmetros de configurao e alterar o runlevelinicial.

    Parmetros so passados no formato item=valor. Exemplo de itens:

    acpi liga/Desliga suporte a ACPI

    init Programa para executar no lugar de /sbin/init

    mem Montante de memria RAM do sistema

    root Especificar o dispositivo raiz

    Outras opes no precisam de parmetros, por exemplo:

    noinitrd No carrega o ramdiskinicial

    ro Monta o dispositivo como somente leitura

    Carregar o kernel linux, indicando /dev/hda3 como dispositivo raiz, sem ramdisk inicial esomente leitura

    boot: linux root=/dev/hda3 noinitrd ro

    Dessa mesma forma, possvel passar parmetros para os mdulos compilados estaticamente nokernel. Para que os parmetros sejam automaticamente passados em todo boot, eles podem serincludos na instruo append no arquivo /etc/lilo.conf. O lilo dever ento serreinstalado. Para os mdulos externos, parmetros so passados diretamente pelo comandomodprobe/insmod ou podem constar nos arquivos /etc/modules.conf ou/etc/modprobe.conf.

    Outra possibilidade de uso do prompt de boot alterar o runlevelinicial do sistema. Os valoresaceitos so s, single, S, 1, 2, 3, 4, 5. Exemplo:

    Iniciar o sistema em modo de usurio nico (Single user)

    boot: linux S

    Se nenhum parmetro for passado, o runlevel inicial ser o especificado em /etc/inittab.

    Para inspecionar o processo de inicilizao do sistema, usado o comando dmesg. As mensagensdo carregamento so armazenadas em /var/log/dmesg, mensagens do kernel podem serchecadas atravs do arquivo /var/log/messages.

    13

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    14/105

    Tpico 106: Carregamento (Boot), Incio e Trmino do Sistema e Runlevels

    Objetivo 1.106.2: Alternando Runlevels, Desligando eReiniciando o Sistema

    Peso: 3Runlevels (nveis de execuo do sistema) so numerados de 0 a 6 e suas funes podem variar deuma distribuio para outra. Via de regra o prprio arquivo /etc/inittab, que define osrunlevels, traz tambm informaes a respeito de cada um.

    Formato de entrada em /etc/initttab:

    id:runlevels:ao:processo| | | || | | `--> O comando a ser acionado| | || | `--> O tipo da ao a ser tomada| || `--> Lista dos runlevels para os quais a| ao da entrada dever ser executada|`--> Nome de at 4 caracteres para identificar

    a entrada no inittab

    Os tipos mais comuns para ao so:

    sysinit Processo executado durante o boot do sistema

    wait O processo ser executado e init aguardar seu trmino

    ctrlaltdel O processo ser executado quando o init receber o sinal SIGINT, o

    que significa que as teclas Ctrl+Alt+Delforam pressionas no console.

    Trecho exemplo de /etc/inittab:

    # System initialization (runs when system boots).si:S:sysinit:/etc/rc.d/rc.S# Script to run when going single user (runlevel 1).su:1S:wait:/etc/rc.d/rc.K# Script to run when going multi user.rc:2345:wait:/etc/rc.d/rc.M

    Na maioria dos casos, os runlevels so assim definidos:

    0 Desligar o sistema1 Usurio nico (super usurio)

    2 Multiusurio sem servios de rede

    3 Multiusurio com servios de rede

    4 Livre (no definido)

    5 Multiusurio, servios de rede e login grfico

    6 Reiniciar o sistema

    Os nicos runlevels comuns toda distribuio Linux so 0, 1 e 6. O runlevel padro definido no/etc/inittab, na entrada:

    14

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    15/105

    Tpico 106: Carregamento (Boot), Incio e Trmino do Sistema e Runlevels

    id:x:initdefault

    Onde x o nmero do runlevel padro ao iniciar o sistema. Esse nmero jamais pode ser0 ou 6,por razes bvias.

    O programa que realiza o procedimento de incio e troca de um runlevel /sbin/init. O init o primeiro programa disparado aps kernel acessar o dispositivo raiz, portanto oPID de initser sempre 1.

    Para alternar de runlevel, usa-se o prprio init ou o comando telinit, fornecendo comoargumento o nmero do runlevel desejado. O comando runlevel mostra dois nmeros, o

    primeiro mostra o runlevel anterior e o segundo o runlevel atual.

    Para desligar ou reiniciar o sistema, o comando shutdown oferece mais funcionalidades. Todos osusurios no sistema so notificados e novos logins so bloqueados. Todos os processos recebem osinal SIGTERM seguido de SIGKILL antes do sistema desligar ou alternar o runlevel. O padro,caso no sejam usadas as opes -h ou -r que o sistema alterne para runlevel 1.

    shutdown[opo] horrio [mensagem]

    Apenas o argumento horrio obrigatrio. Ele indica quando efetuar a ao requisitada e seuformato pode ser:

    hh:mm (horrio para execuo)

    +m (minutos restantes)

    now ou +0 (imediatamente)

    Algumas das opes mais usadas:

    -a Usar o arquivo de permisso /etc/shutdown.allow-r Reiniciar a mquina

    -h Desligar a mquina

    -tsegundos Tempo de espera antes do shutdown executar a ao solicitada.

    O argumento mensagem ser o aviso enviado a todos usurios no sistema.

    Para impedir que qualquer usurio reinicie a mquina apertando Ctrl+Alt+Del, a opo -a deveconstar para o comando shutdown referente a ao ctrlaltdel em /etc/inittab e osusurio liberados para realizar a ao devem constar no arquivo /etc/shutdown.allow.

    15

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    16/105

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    17/105

    Tpico 107: Impresso

    Objetivo 1.107.2: Instalar Impressoras e Filas de Impresso

    Peso: 1O sistema impresso mais comum em Linux o CUPS (Common Unix Printing System). O CUPS

    prov controle sobre impressoras, filas de impresso, impresso remota e compatibilidade com asferramentas do sistema lpd. A configurao do CUPS pode ser feita atravs da linha de comando ouatravs de uma interface WEB, em http://localhost:631/. Para configurao e uso do CUPS, fundamental que o servidor de impresso (daemon /usr/sbin/cupsd) esteja ativo. A maioriadas distribuies inicia o servidor de impresso no boot do sistema.

    Administrao de Impressoras pela Linha de Comando

    O comando lpinfo usado para obter uma lista dos dispositivos de impresso e modelos deimpressoras disponveis.

    Listando dispositivos disponveis:

    # lpinfo -vnetwork socketnetwork httpnetwork ippnetwork lpddirect canon:/dev/lp0direct epson:/dev/lp0direct parallel:/dev/lp0

    direct scsiserial serial:/dev/ttyS0?baud=115200serial serial:/dev/ttyS1?baud=115200serial serial:/dev/ttyS2?baud=115200serial serial:/dev/ttyS3?baud=115200direct usb:/dev/usb/lp0direct usb:/dev/usb/lp1direct usb:/dev/usb/lp2(...)

    A primeira palavra da lista identifica o tipo do dispositivo. Para impressoras locais, importanteque o mdulo do respectivo dispositivo esteja carregado (porta paralela, usb, etc).

    Listando Modelos de Impressoras Disponveis:

    17

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    18/105

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    19/105

    Tpico 107: Impresso

    # lpadmin -p HP_DeskJet_600 -E -v parallel:/dev/lp0 -D "HP DeskJet 600" \-L "Impressora Local" -m foomatic-ppds/HP/HP-DeskJet_600-hpijs.ppd.gz

    A impressora foi adicionada com suas opes padro (tamanho da folha, qualidade de impresso,etc). Para alterar esse valores, usa-se o comando lpoptions.

    Listar as opes possveis para a impressora recm instalada:

    # lpoptions -p HP_DeskJet_600 -lPageSize/Page Size: Custom Letter *A4 Photo PhotoTearOff 3x5 5x8 A5 A6A6TearOff B5JIS Env10 EnvC5 EnvC6 EnvDL EnvISOB5 EnvMonarch Executive FLSAHagaki Legal Oufuku w558h774 w612h935PageRegion/PageRegion: Letter A4 Photo PhotoTearOff 3x5 5x8 A5 A6 A6TearOffB5JIS Env10 EnvC5 EnvC6 EnvDL EnvISOB5 EnvMonarch Executive FLSA Hagaki LegalOufuku w558h774 w612h935PrintoutMode/Printout Mode: Draft Draft.Gray *Normal Normal.Gray High.GrayQuality/Resolution, Quality, Ink Type, Media Type: *FromPrintoutMode300ColorCMYK 300DraftColorCMYK 300DraftGrayscaleCMYK 300GrayscaleCMYK

    600x300BestGrayscaleCMYK

    Definir a opo PrintoutMode como Draft:

    # lpoptions -p HP_DeskJet_600 -o PrintoutMode=Draft

    Para remover a impressora:

    # lpadmin -x HP_DeskJet_600

    O estado das impressoras e filas pode ser checado com o comando lpstat -a. Para ativar aimpressora, so utilizados os comandos /usr/bin/enable ou /usr/sbin/accept.

    Arquivos de Configurao do CUPSOs arquivos de configurao do CUPS encontram-se em /etc/cups/:

    classes.conf

    Define as classes para as impressoras locais.

    cupsd.conf

    Configuraes do daemon cupsd

    mime.convs

    Define os filtros disponveis para converso de formatos de arquivos

    mime.types

    Define os tipos de arquivos conhecidos

    printers.conf

    Define as impressoras locais disponveis

    lpoptions

    Configuraes especficas para cada impressora

    19

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    20/105

    Tpico 107: Impresso

    Filas de Impresso

    Fila de impresso o diretrio temporrio onde ficam os trabalhos antes de serem impressos. Porpadro, a fila no sistema lpd /var/spool/lpd/ e no CUPS /var/spool/cups/.

    O comando lpc (em desuso) um utilitrio interativo de controle de fila de impresso. Atravsdele possvel bloquear/liberar filas e impressoras e alterar a seqncia de impresso de trabalhos.

    Para apenas listar os trabalhos numa fila de impresso, usado o comando lpq.

    /etc/printcap

    O arquivo /etc/printcap o principal arquivo de configurao do antigo sistema lpde defineas filas de impresso disponveis no sistema e suas caractersticas. Este arquivo gerado pelo CUPS

    para manter a compatibilidade com o sistema antecessor. Cada definio de impressora feita emuma linha e os campos de configurao so delimitados por :. O primeiro nome, na primeira

    coluna do arquivo, indica o nome da impressora. possvel criaraliases para a impressora,separados por barra vertical |. Os demais campos so parmetros de controle da impressora.

    Exemplo de /etc/printcap:

    HP_DeskJet_600|HP DeskJet 600:rm=localhost:rp=HP_DeskJet_600:

    Objetivo 1.107.3: Imprimindo ArquivosPeso: 1

    A maioria dos aplicativos j imprime diretamente no formato compatvel para impresso

    (PostScript). Porm, tambm possvel converter manualmente o arquivo para o formatopostscript. Um dos programas usados para essa tarefa o a2ps. Dessa forma, possvel ter umcontrole maior sobre o resultado final da impresso.

    O comando lpr envia o documento indicado para a fila de impresso. Opes comuns so -Pxxx,envia o arquivo para a fila xxx, -#x, imprime o documentos x vezes e -s, que no copia odocumento para a fila de impresso, mas cria um link simblico na mesma.

    Para listar os trabalhos numa fila de impresso, usado o comando lpq.lpq -a mostra ostrabalhos em todas as filas do sistema. lpq -P mostra os trabalhos no host especificado. A cadatrabalho associado um nmero. Esse nmero pode ser usado pelo comando lprmpara cancelar

    um trabalho na fila de impresso. O comando lprm sem argumentos ir cancelar o ltimo trabalhoenviado. Informando o nome de um usurio como argumento cancelar todos os trabalhos deimpresso deste usurio na fila. Para cancelar todos os trabalhos, lprm -a ou lprm -.

    Objetivo 1.107.4: Impressoras Locais e RemotasPeso: 1

    Impresso Remota

    Impressoras instaladas e configuradas na mquina local podero estar disponveis para outras

    mquinas na rede automaticamente. Para tanto, basta especificar no host da impressora a rede da

    20

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    21/105

    Tpico 107: Impresso

    qual aceitar pedidos e no(s) terminal(is) , o host da impressora.

    Supondo ser o host da impressoraslack102 e a rede na qual compartilhar a impressora192.168.1.0/24, a configurao pode ser feita da seguinte forma:

    No host da impressora, no arquivo /etc/cups/cupsd.confOrder Deny,AllowDeny From AllAllow From 127.0.0.1

    Allow From 192.168.1.0/24 # Liberar para a rede 192.168.1.0/24

    No(s) terminal(is), no arquivo /etc/cups/client.conf

    ServerName slack102 # host da impressora necessrio reiniciar o daemon cupsd para utilizar as novas configuraes. A impressora remota

    pode ser verificada no terminal com o comando lpstat -a:

    # lpstat -aHP_DeskJet_600 accepting requests since Jan 01 00:00

    Para que os documentos sejam automaticamente impressos nessa impressora, esta tornada padrocom o comando:lpoptions -d HP_DeskJet_600

    Atravs do sistema SAMBA, possvel imprimir com uma impressora num host MS-Windows.

    Para faz-lo, ao adicionar uma impressora o dispositivo escolhido dever ser Windows Printer viaSAMBA e a URIsmb://servidor/impressora , substituindo pelos valores apropriados. Se o servidorexigir autenticao, a URI dever ser smb://usurio:senha@grupo/servidor/impressora .

    Filtros de Impresso

    Mesmo que arquivos sejam mandados sem terem sido convertidos para impresso, possvel usarfiltros para realizar essa tarefa. A identificao do tipo de arquivos feita consultando o arquivo/etc/cups/mime.types. Identificado o tipo do arquivo, a ferramenta de converso adequada indicada atravs do arquivo /etc/cups/mime.convs, tornando-o apto para converso.

    21

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    22/105

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    23/105

    Tpico 108: Documentao

    Objetivo 1.108.1: Usar e Administrar o Sistema Local de

    DocumentaoPeso: 4

    Pginas Manual

    Praticamente todos os comandos e arquivos de configurao no Linux tm uma pgina manual, quedemonstra de maneira detalhada as funes e como usar o item em questo. Para ver uma pginamanual, basta usar o comandoman tendo o comando/arquivo como argumento.

    Em sua maioria, as pginas manual tm a seguinte organizao:

    NomeAssunto da pgina manual seguido por uma descrio breve.

    Sinopse

    A sintaxe do comando

    Descrio

    Descrio detalhada

    Opes

    Reviso de todas as opes e suas funes

    ArquivosArquivos relacionados ao assunto

    Vejatambm

    Outras pginas de manual relacionadas ao tpico

    possvel buscar por ocorrncias de um termo na seo nome das pginas manual atravs docomando apropos, retornando a descrio breve para cada ocorrncia:

    $ apropos pop3Net::POP3 (3) - Post Office Protocol 3 Client class (RFC1939)getmail (1) - retrieve mail from one or more POP3 accounts

    popa3d (8) - Post Office Protocol (POP3) server

    O banco de dados do comando whatis armazena a seo nome das pginas manual do sistema. Obanco de dados geralmente atualizado por um agendamento cron. Um recurso fornecido comoargumento para whatis retorna a descrio breve para o mesmo:

    $ whatis manman (1) - format and display the on-line manual pagesman (7) - macros to format man pagesman.conf [man] (5) - configuration data for man

    Os nmeros entre parnteses referem-se seo a qual pertence a pgina manual.

    Definio das sees:

    23

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    24/105

    Tpico 108: Documentao

    Seo 1 Programas disponveis ao usurio

    Seo 2 Rotinas de Sistema Unix e C

    Seo 3 Rotinas de bibliotecas C

    Seo 4 Arquivos especiais (dispositivos em /dev)Seo 5 Convenes e formatos de arquivos

    Seo 6 Jogos

    Seo 7 Diversos (macros textuais, etc)

    Seo 8 Procedimentos Administrativos (daemons, etc)

    Para acessar um item em uma seo especfica, o nmero da seo precede o nome do item.

    Acessar o manual do recurso man na seo 7:

    $ man 7 manPor padro, as pginas manual geralmente so armazenadas em /usr/man e /usr/share/man,em subdiretrios correspondentes seo. Outros locais podem ser especificados atravs davarivel MANPATH, definida no arquivo de configurao do man/usr/lib/man.conf ou/etc/man.conf.

    Imprimindo Pginas de Manual

    Pginas manual podem ser impressas como texto sem formatao direcionando a sada do comandoman para um arquivo ou comando de impresso.

    Para no perder a formatao, a pgina pode ser convertida usando o comando groff:Gravando o manual de find para um arquivo postscript:

    $ zcat /usr/man/man1/find.1.gz | groff -man -Tps > find.ps

    Para imprimir diretamente:

    $ zcat /usr/man/man1/find.1.gz | groff -man -Tps | lpr

    Pginas Info

    Formato alternativo ao das pginas manual. So acessveis atravs do comando info. Em geral,informaes disponveis em pginas info tambm esto disponveis em pginas manual, porm deforma menos detalhada.

    Por padro so armazenadas em /usr/share/info.

    Outras Documentaes

    Projetos GNU geralmente incluem documentaes comoFAQ,Readme, ChangeLoge Guia deusurio/administrador. Podem estar no formatoASCII,HTML,LateXoupostscript. Estes arquivos

    podem ser encontrados em /usr/share/doc, em diretrios correspondentes aos programas.

    24

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    25/105

    Tpico 108: Documentao

    Objetivo 1.108.2: Encontrar Documentao Linux na InternetPeso: 3

    O LDP Linux Documentation Project- http://www.tldp.org fornece documentos detalhadossobre muitas tarefas. Os documentos esto organizados na forma de HOWTOs (receitas passo-a-

    passo) e guias, que abordam temas de forma mais abrangente e aprofundada. H tambm links paraartigos sazonais.

    Respostas para perguntas recorrentes podem ser encontradas e novos questionamentos podem serfeitos em sites de fruns e em newsgroups. Um site com fruns diversos e voltados para tpicosespecficos http://www.linuxquestions.org/. Newsgroups podem ser acessados atravs do GoogleGroups http://groups.google.com/. Os grupos tradicionais para discusso de Linux so os derivadosdo comp.os.linux.*.

    Como cada distribuio tem suas particularidades, os respectivos sites fornecem documentao degrande valia, sobre administrao, configurao e uso de cada aspecto do sistema. Tambm os sitesdos desenvolvedores de programas costumam fornecer documentao extra. Alguns sites dedistribuies populares:

    http://www.slackware.com/

    http://www.debian.org/

    http://www.redhat.com/

    Objetivo 1.108.5: Informar o Usurio sobre QuestesPertinentes ao SistemaPeso: 1

    Informaes teis podem ser mostradas durante o login do usurio. Contato do administrador,informes de manuteno, etc.

    O programa de controle de terminal agetty mostra o contedo do arquivo /etc/issue noprompt de login. Para sesses telnet, o arquivo /etc/issue.net desempenha a mesma funo.

    Para exibir uma mensagem aps um login bem sucedido, utiliza-se do arquivo /etc/motd(message of the day).

    25

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    26/105

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    27/105

    Tpico 109: Shells, Script, Programao eCompilao

    Objetivo 1.109.1: Personalizar e Trabalhar no Ambiente ShellPeso: 5

    O shell ao mesmo tempo uma interface de interao com o computador e um ambiente deprogramao. H diferentes opes de shell, como o bash, csh ouzsh. O mais utilizado, devido asuas muitas qualidades, e que ser aqui abordado o bash. H quem prefira o csh, que possuisintaxe semelhante a da linguagem C.

    Variveis

    Variveis so utilizadas para fornecer informaes teis e necessrias programas e usurios. Sodefinidas na forma nome=valor. No deve haver espaos na definio. Variveis podem serglobais ou locais.

    Variveis globais so aquelas acessveis todos os processos. Exemplos de variveis globais soPATH, que define os diretrios de programas; HOME, o diretrio pessoal do usurio; SHELL, o shell

    padro para o usurio. Por convenincia, os nomes de variveis globais so em maisculas. Asvariveis globais podem ser listadas com o comando env. Todas as variveis so listadas usandoset.

    As variveis globais so definidas no login, para todo o sistema atravs do arquivo/etc/profile ou por usurio, atravs do arquivo ~/.bash_profile.

    Variveis locais so acessveis apenas sesso atual do shell. Podem ser definidas em scripts ou naprpria linha de comando. Para tornar uma varivel acessvel aos processos filhos subseqentes, usada a instruo export:

    $ export BASH='Bourne Again Shell'

    Os valor da varivel retornado com uso de $:

    $ echo $BASHBourne Again Shell

    Para excluir uma varivel, usada a instruo unset:

    $ unset BASH

    Funes

    Para simplificar tarefas corriqueiras, possvel escrever funes que aglutinam comandos. Podemser escritas diretamente pela linha de comando ou serem definidas em scripts ou nos arquivos deconfigurao do bash.

    Exemplo: Mostrar algumas informaes a respeito do nome de programa fornecido.

    Definir a funo no prompt, interativamente:

    27

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    28/105

    Tpico 109: Shells, Script, Programao e Compilao

    $ function pinfo () {> echo "Localizao de $1:"> which $1> echo "Processos referentes a $1:"> ps x | grep $1

    > }

    Em uma s linha:

    $ function pinfo () { echo "Localizao de $1:"; \which $1; echo "Processos referentes a $1:"; ps x | grep $1; }

    Atravs do arquivo~/.bashrc:

    function pinfo () {echo "Localizao de $1:"which $1echo "Processos referentes a $1:"

    ps x | grep $1}

    Assim, a funo pinfo poder ser utilizada como um comando:

    $ pinfo sofficeLocalizao de soffice:/usr/bin/sofficeProcessos referentes a soffice:5163 ? Ss 0:00 /bin/sh /usr/bin/soffice5179 ? Sl 2:20 /opt/openoffice.org2.0/program/soffice.bin5735 pts/0 S+ 0:00 grep soffice

    Arquivos de configurao do bash: possvel automatizar a criao de variveis, aliases, funes e outras personalizaes do bash,tanto para quando o usurio entra no sistema quanto para cada nova instncia do bash. Para cada

    propsito, seja para todos ou por usurio em particular, existe o arquivo apropriado:

    /etc/profile

    Arquivo de configurao para o sistema, executado durante o login. Contm definies devariveis globais de ambiente, como PATH.

    /etc/bashrc

    Arquivo com funes e aliases comuns, para ser chamado pelos ~/.bashrc e cada

    usurio.~/.bash_profile

    Se o arquivo existir, ser executado aps /etc/profile aps o login.

    ~/.bash_login

    Se ~/.bash_profile no existir, este ser procurado.

    ~/.profile

    Se nem ~/.bash_profile ou ~/.bash_login existirem, este ser procurado.

    ~/.bashrc

    28

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    29/105

    Tpico 109: Shells, Script, Programao e Compilao

    Arquivo executado aps o login e em toda sesso, interativa ou no, do bash.

    ~/.bash_logout

    Executado no logout do sistema.

    ~/.inputrcDefine as opes de entrada de teclado. Por padro, combinaes estiloEmacs so usadas.Para alterar para o estilo do vi, adiciona-se a linha set editing-mode vi. Paraeliminar o aviso de erro sonoro, adiciona-se set bell-style none. O arquivo deconfigurao global /etc/inputrc.

    Objetivo 1.109.3: Editar e Escrever Scripts SimplesPeso: 3

    Scripts so arquivos que passam instrues a um interpretador. Diferente de programas compilados,scripts so arquivos de texto que podem ser editados em qualquer editor.

    A primeira linha de um script deve especificar o interpretador para o script, que indicado peloscaracteres #! (she-bang). Para um script com instrues para o bash, a primeira linha dever ser#!/bin/bash. Assim, o interpretador padro ser o shell bash.

    O script dever ter permisso de execuo para rodar diretamente, ou ser invocado como argumentodo comando bash ou sh.

    Variveis Especiais

    Os argumentos passados para um script e outras informaes teis so retornados atravs davarivel especial $x, onde x determina que valor retornar:

    $* Todos os valores passados como argumentos

    $# O nmero de argumentos

    $0 O nome do script

    $n O valor do argumento na posio n

    $! PID do ltimo programa executado

    $$ PID do shell atual

    $? Cdigo de sada do ltimo comando

    Para requisitar valores do usurio durante a execuo do script, usada a instruo read:

    echo Entrar valor solicitado:read RESPOSTA

    O valor retornado ser armazenado na varivel RESPOSTA. Caso uma varivel de retorno no sejaespecificada, o nome padro da varivel de retorno, REPLY, ser utilizado.

    if then else

    A estrutura lgica if executa um comando ou uma lista de comandos se uma afirmao for

    29

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    30/105

    Tpico 109: Shells, Script, Programao e Compilao

    verdadeira. A instruo test avalia a afirmao e retorna se verdadeira ou falsa. Seu uso geralmente associado instruo condicional if:

    Retornar ok se o arquivo /bin/bash for executvel

    if test -x /bin/bash ; thenecho ok

    fi

    Maneira mais prtica para testar:

    if [ -x /bin/bash ] ; thenecho ok

    fi

    A instruo else um apndice estrutura if, e determina o bloco de instrues a executar casoa afirmao avaliada seja falsa. Exemplo:if [ -x /bin/bash ] ; then

    echo okelse

    echo no okfi

    O final da estrutura if deve ser sempre sinalizado com fi.

    Uma variao da instruo if case. A instruo case executar a instruo se um itemindicado for encontrado em uma lista de itens divididos pelo caracter |. Exemplo:

    case 3 in (1|2|3|4|5)echo "Nmero 3 encontrado na lista,";echo "portanto case finalizou e";

    echo "executou esses comandos";esac

    O final da estrutura case deve ser sempre sinalizado com esac.

    Opes de avaliao de test para arquivos e diretrios:

    -dcaminho

    Verdadeiro se o caminho existir e for um diretrio

    -ccaminho

    Verdadeiro se o caminho existir

    -fcaminho

    Verdadeiro se o caminho existir e for um arquivo comum

    -Lcaminho

    Verdadeiro se o caminho existir e for um link simblico

    -rcaminho

    Verdadeiro se o caminho existir e puder ser lido (acessado)

    -scaminho

    Verdadeiro se o caminho existir e seu tamanho for maior que zero

    30

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    31/105

    Tpico 109: Shells, Script, Programao e Compilao

    -wcaminho

    Verdadeiro se o caminho existir e puder ser escrito

    -xcaminho

    Verdadeiro se o caminho existir e for executvelcaminho1-otcaminho2

    Verdadeiro se caminho1 for outro que no caminho2

    Opes de avaliao de test para texto:

    -nescrito

    Verdadeiro se o tamanho de escrito for diferente de zero

    -zescrito

    Verdadeiro se o tamanho de escrito for zeroescrito1==escrito2

    Verdadeiro se escrito1 for igual a escrito2

    escrito1!=escrito2

    Verdadeiro se escrito1 for diferente de escrito2

    Opes de avaliao de test para nmeros:

    num1-ltnum2

    Verdadeiro se num1 for menor que num2num1-gtnum2

    Verdadeiro se num1 for maior que num2

    num1-lenum2

    Verdadeiro se num1 for menor ou igual a num2

    num1-gtnum2

    Verdadeiro se num1 for maior ou igual a num2

    num1-eqnum2

    Verdadeiro se num1 for igual a num2

    num1-nenum2

    Verdadeiro se num1 for diferente de num2

    Substituio de Comandos

    Um dos principais propsitos de um script trabalhar com os dados produzidos por outroscomandos. Para retornar a sada de um comando, o mesmo colocado entre aspas simplesinvertidas ` ` ou entre $(). Exemplo:

    31

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    32/105

    Tpico 109: Shells, Script, Programao e Compilao

    TRESLINHAS=`cat -n3 /etc/inputrc`echo As trs primeiras linhas de /etc/inputrc:echo $TRESLINHAS

    Resultado idntico ser produzido na forma:

    TRESLINHAS=$(cat -n3 /etc/inputrc)echo As trs primeiras linhas de /etc/inputrc:echo $TRESLINHAS

    Operaes matemticas com nmeros inteiros so feitas atravs da instruo expr:

    SOMA=`expr $VALOR1 + $VALOR2`

    Produz resultado idntico:SOMA=$(($VALOR1 + $VALOR2))

    Instrues de Lao

    for

    A instruo for executa ao para cada elemento de uma lista. Neste caso, para cada nmerogerado pelo comando seq:

    for i in $(seq -w 5); doecho Baixando foto_$i.jpg;echo wget http://www.fotos.com/foto_$i.jpg;

    done

    Produzir a sada:Baixando foto_1wget http://www.fotos.com/foto_1.jpg

    Baixando foto_2wget http://www.fotos.com/foto_2.jpgBaixando foto_3wget http://www.fotos.com/foto_3.jpgBaixando foto_4wget http://www.fotos.com/foto_4.jpgBaixando foto_5wget http://www.fotos.com/foto_5.jpg

    until

    A instruo until Executa um ao at que uma afirmao seja verdadeira. Por exemplo,adicionar uma linha ao arquivo texto_simples at que alcance 10 linhas:

    LENTEXTO=$(wc -l texto_simples)

    until [ ${LENTEXTO%% *} -eq 10 ]; doecho "Mais uma linha" >> texto_simplesLENTEXTO=$(wc -l texto_simples)

    done

    while

    A instruo while semelhante a instruo until, mas executa uma ao enquanto a afirmaofor verdadeira. Por exemplo, adicionar uma linha ao arquivo texto_simples at que alcance 20linhas (em outras palavras, enquanto for inferior a vinte linhas):

    32

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    33/105

    Tpico 109: Shells, Script, Programao e Compilao

    LENTEXTO=$(wc -l texto_simples)

    while [ ${LENTEXTO%% *} -lt 20 ]; doecho "E d-lhe linha" >> texto_simplesLENTEXTO=$(wc -l texto_simples)

    done

    Local, Propriedade e Permisso

    Para que um script possa ser usado por todos os usurios, importante que ele seja executvel e queesteja num diretrio includo na varivel PATH. Direito de escrita deve ser retirado para todosexceto o dono (root). Por ser um arquivo mais vulnervel, o sistema no aceitar o bit SUID paraarquivos script.

    Scripts para Tarefas Administrativas

    Scripts so comumente utilizados para realizar tarefas morosas de administrao de sistemas, comobackup de dados e atualizaes. Para facilitar o acompanhamento dessas tarefas, o prprio scriptpode enviar um email ao administrador, geralmente informando sobre falhas. Se a sada do ltimocomando ($!) foi diferente de 0, porque houve uma falha.

    Enviar email para o administrador informando sobre um erro:

    mail -s Erro em $HOSTNAME [email protected] < backup.log

    33

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    34/105

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    35/105

    Tpico 111: Tarefas Administrativas

    Objetivo 1.111.1: Administrar Contas de Usurio, Grupos e

    Arquivos de Sistema RelacionadosPeso: 4

    Conta de Usurio

    O comando /usr/sbin/useradd cria uma nova conta no sistema. /usr/sbin/adduser um link para useradd.Valores padro so usados quando nenhum argumento fornecido ouatravs de useradd -D. Em algumas distribuies essas informaes podem ser verificadas ealteradas em /etc/default/useradd.

    Opes comuns deuseradd

    :

    -ccomentrio

    Comentrio (geralmente o nome completo do usurio).

    -ddiretrio

    Caminho para o diretrio pessoal do usurio.

    -ggrupo

    Grupo inicial (GID). Precisa existir no sistema.

    -Ggrupo1,grupo2

    Grupos adicionais, separados por vrgula.

    -uUID

    UID (user ID) do usurio.

    -sshell

    Shell padro para o usurio.

    -psenha

    Senha (entre aspas).

    -edataData de validade da conta.

    -k

    Copia o diretrio modelo /etc/skel.

    -m

    Cria o diretrio pessoal, se no existir.

    Para que o usurio possa acessar sua conta, o administrador precisar definir uma senha para ele, oque pode ser feito atravs do comandopasswdusurio. Usado sem argumentos, passwd altera a

    senha para o usurio atual. O campo de descrio pode ser alterado com o comando chfn e o shell

    35

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    36/105

    Tpico 111: Tarefas Administrativas

    inicial com chsh. Usurios comuns podem usar estes comandos para alterar apenas suas prpriascontas.

    Uma conta de usurio pode ser apagada com o comando userdel. A opo -r assegura que odiretrio pessoal do usurio tambm seja apagado.

    As informaes de conta dos usurios do sistema so armazenadas no arquivo /etc/passwd.

    Exemplo de usurios em /etc/passwd:

    root:x:0:0::/root:/bin/bashluciano:x:1000:100:Luciano Antonio Siqueira:/home/luciano:/bin/bash

    Cada usurio definido em uma linha, em campos separados por : representandorespectivamente:

    1. Nome de Login

    2. Senha (x se usando o arquivo /etc/shadow)

    3. Nmero de identificao do usurio (UID)

    4. Nmero do grupo efetivo do usurio (GID)

    5. Descrio breve do usurio (opcional)

    6. Diretrio pessoal para o usurio

    7. Shell inicial do usurio (se vazio, /bin/sh ser usado)

    Para editar diretamente o arquivo /etc/passwd, altamente indicado usar o comandovipw, quebloqueia o arquivo /etc/passwd contra possveis alteraes externas, evitando corrupo doarquivo. O editor utilizado ser o determinado pela varivel de ambiente

    VISUALou

    EDITOR.Se

    ambas no existirem, o editor utilizado ser o vi. Usado com a opo -s, vipw abrir para edioo /etc/shadow.

    O arquivo /etc/passwd legvel por qualquer usurio (-rw-r--r--), o que pode tornar assenhas criptografadas passveis de serem decodificadas. Para evitar essa possibilidade, usado umsegundo arquivo, acessvel apenas ao super-usurio, /etc/shadow (-rw-r-----). Paraconverter as senhas de arquivos /etc/passwd antigos para /etc/shadow, utiliza-se ocomando pwconv. Para retornar as senhas para o formato /etc/passwd antigo, utiliza-sepwunconv.

    Como no arquivo /etc/passwd, os campos no aquivo /etc/shadow so separados por :,

    correspondendo respectivamente:1. Nome de usurio, que deve corresponder a um nome vlido em /etc/passwd

    2. A senha, criptografada numa sequncia de 13 caracteres. Em branco permite login semsenha. Com um asterisco * indica que a conta est bloqueada.

    3. O nmero de dias (desde 01/01/1970) desde que a senha foi alterada.

    4. Nmero mnimo de dias at que uma senha possa ser novamente alterada. 0 permite alterar asenha sem esperar.

    5. Nmero de dias depois do qual a senha dever ser alterada. Por padro 99999, ou 274 anos.

    6. Nmero de dias para advertir o usurio sobre a senha a expirar.

    36

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    37/105

    Tpico 111: Tarefas Administrativas

    7. Nmero de dias depois da senha expirar aps o qual a conta ser bloqueada.

    8. O nmero de dias, a partir de 01/01/1970, desde que a conta foi bloqueada.

    9. Campo reservado.

    Essas informaes referentes validade da senha podem ser modificadas atravs do programachage, com as seguintes opes:

    -mdias

    Mnimo de dias at que o usurio possa trocar uma senha modificada.

    -Mdias

    Nmero mximo de dias que a senha permanecer vlida.

    -ddias

    Nmero de dias decorridos em relao a 01/01/1970 em que a senha foi mudada. Tambm

    pode ser expresso no formato de data local (dia/ms/ano).-Edias

    Nmero de dias decorridos em relao a 01/01/1970 a partir do qual a conta no estar maisdisponvel. Tambm pode ser expresso no formato de data local (dia/ms/ano).

    -Idias

    Inatividade, tolerncia de dias aps a senha ter expirado at que a conta seja bloqueada.

    -Wdias

    Dias anteriores ao fim da validade da senha nos quais ser emitido um aviso a respeito.

    Para usurios comuns, chage s pode ser usado com a opo -lusurio, que mostra as restriesreferentes ao usurio em questo.

    O comando usermod agrega as funes de alterao de conta de usurio, atravs das opes:

    -cdescrio

    Descrio do usurio

    -ddiretrio

    Altera diretrio do usurio. Com o argumento -m move o contedo do diretrio atual para onovo

    -evalor

    Prazo de validade da conta, especificada no formato dd/mm/aaaa

    -fvalor

    Nmero de dias aps a senha ter expirado at que a conta seja bloqueada. Um valor-1cancela essa funo.

    -ggrupo

    Grupo efetivo do usurio

    -Ggrupo1,grupo2

    37

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    38/105

    Tpico 111: Tarefas Administrativas

    Grupos adicionais para o usurio

    -lnome

    Nome de login do usurio

    -psenhaSenha

    -uUID

    Nmero de identificao (UID) do usurio

    -sshell

    Shell padro do usurio

    -L

    Bloqueia a conta do usurio, colocando um sinal ! na frente da senha criptografada. Umaalternativa substituir o shell padro do usurio por um script ou programa que informe asrazes do bloqueio.

    -U

    Desbloqueia a conta do usurio, retirando o sinal ! na frente da senha criptografada

    Grupos de Usurios

    Para criar um grupo, usado o comando groupadd:

    # groupadd estudo_c

    O nmero de identificao do grupo (GID) pode ser especificado atravs da opo -g. Para apagarum grupo, o comando groupdel:

    # groupdel estudo_c

    Um usurio poder ser includo/excludo de um grupo atravs do comando gpasswd, utilizando-seo argumento adequado:

    gpasswdgrupo

    Cria uma senha paragrupo

    gpasswd -r grupo

    Apaga a senha paragrupo

    gpasswd -a usurio grupo

    Associa usurio agrupo

    gpasswd -d usurio grupo

    Exclui usurio degrupo

    gpasswd -A usurio grupo

    Torna usurio administrador degrupo.

    Um usurio pode pertencer a mais de um grupo, mas apenas um grupo deve ser o grupo principal.

    38

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    39/105

    Tpico 111: Tarefas Administrativas

    Para mostrar os grupos aos quais um usurio pertence, usado o comando groups:

    # groups rootroot : root bin daemon sys adm disk wheel floppy video

    groups sem argumentos mostra os grupos para o usurio atual. O comando id mostra os grupospara o usurio, mostrando tambm o nmero de identificao do usurio e dos grupos:# id rootuid=0(root) gid=0(root) grupos=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),18(video)

    O comando newgrp usado para alterar o grupo efetivo do usurio para o grupo solicitado emuma nova sesso de login:$ groupsusers disk lp floppy audio video cdrom$ newgrp video$ groups

    video disk lp floppy audio cdrom users$ exit$ groupsusers disk lp floppy audio video cdrom

    Caso o usurio no pertena ao grupo em questo, ser associado.

    As informaes sobre os grupos existentes no sistema so armazenadas em /etc/group.Exemplo de /etc/group:

    ftp::50:pop::90:popscanner::93:nobody::98:nobody

    nogroup::99:users::100:console::101:messagebus:x:102:estudo_c:x:104:luciano

    Cada grupo definido em uma linha, em campos separados por : representando respectivamente:

    1. Nome do grupo

    2. Senha para o grupo (x se utilizar/etc/gshadow)

    3. Nmero de identificao do grupo (GID)

    4. Lista de membros do grupo, separados por vrgulaPara editar diretamente o arquivo /etc/group, altamente indicado usar o comandovigr, quebloqueia o arquivo /etc/group contra possveis alteraes externas, evitando corrupo doarquivo. O editor utilizado ser o determinado pela varivel de ambiente VISUAL ou EDITOR. Seambas no existirem, o editor utilizado ser o vi. Usado com a opo -s, vigr abrir para edioo arquivo /etc/gshadow.

    Como o caso do arquivo /etc/passwd, possvel usar um segundo arquivo para armazenarinformaes referentes senha dos grupos, chamado /etc/gshadow. O comando grpconvconverte as senhas no formato antigo /etc/group para /etc/gshadow e grpunconvrealizao procedimento inverso.

    39

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    40/105

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    41/105

    Tpico 111: Tarefas Administrativas

    Objetivo 1.111.3: Configurar e Recorrer a Arquivos de logpara Corresponder s Necessidades Administrativas e deSeguranaPeso: 3

    A maioria dos arquivos de log so armazenados no diretrio /var/log/. Enquanto algunsprogramas geram os prprios arquivos de log, como o Xorg e o samba, a maioria dos logs dosistema so controlados pelo daemon syslogd.

    Logs de sistema comuns:

    /var/log/cron

    Rastreia as mensagens de execuo do cron.

    /var/log/mailMensagens relacionadas ao envio de mensagens de email.

    /var/log/messages

    Todas as mensagens do kernel, exceto authpriv, cron, mail e news.

    /var/log/secure

    Logins fracassados, incluso/remoo de usurios ou grupos, etc.

    O daemon syslogd configurado atravs do arquivo /etc/syslog.conf. Cada regra deconfigurao separada em dois campos, seletor e ao, separados por espao(s) ou tabulao(es).

    O campo seletor dividido em duas partes:facilidade eprioridade, separadas por um ponto.Facilidade indica o sub-sistema originrio da mensagem, e pode ser um dos seguintes termos:auth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, syslog, user, uucp elocal0 at local7.

    Prioridade define a gravidade da mensagem e pode ser um dos termos, em ordem crescente degravidade: debug, info, notice, warning, err, crit, alert, emerg. O termo noneindica que no h prioridade para a facilidade em questo.

    O caracter asterisco * indica que a regra vale para qualquer facilidade ou prioridade, dependendode que lado do ponto est. Mais de uma facilidade pode ser especificada para a prioridade na mesmaregra, separando-as por vrgula.

    O sinal = confere exclusividade facilidade/prioridade que precede. Em contrapartida, o sinal! faz ignorar a facilidade/prioridade que precede.

    O sinal ; pode ser usado para separar mais de um seletor para a mesma ao.

    O campo ao determina o destino dado mensagem em questo. Geralmente as mensagens soenviadas para arquivos em /var/log/, mas podem ser direcionadaspipes, consoles, mquinaremota, usurio(s) especfico(s), e para todos os usurios no sistema.

    Exemplo de /etc/syslog.conf:

    41

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    42/105

    Tpico 111: Tarefas Administrativas

    # Todas mensagens do kernel iro para o arquivo kernel.# Mensagens crticas e maiores iro para o host finlandia# e para o console. Mensagens info e maiores, a exceo de# mensagens de erro e maiores, iro para o arquivo kernel-info.#

    kern.* /var/adm/kernelkern.crit @finlandiakern.crit /dev/consolekern.info;kern.!err /var/adm/kernel-info

    Aps alterar o arquivo /etc/syslog.conf, necessrio reiniciar o daemon syslogd para queutilize as novas configuraes.

    Atravs do comando logger possvel criar mensagens de log manualmente, indicadas comoargumento do comando. A opo -p permite de terminar afacilidade.prioridade para a mensagem.

    Para acompanhar continuamente a atualizao de arquivos de log, interessante o uso de tail -farquivo de log, que mostrar novas mensagens medida que forem acrescentadas.

    Como os arquivos de log so continuamente ampliados, bastante indicado que as mensagens maisantigas sejam movidas, para evitar que o arquivo de log inche demais. Essa tarefa realizadaatravs do programa logrotate. Normalmente, logrotate agendado para execuo diria.

    Seu arquivo de configurao /etc/logrotate.conf, onde regras de corte, compresso,envio por email e outras podem ser especificadas para cada arquivo de log.

    Objetivo 1.111.4: Automatizar Tarefas Administrativas deSistema Agendando Trabalhos para Execuo Futura

    Peso: 4Existem dois sistemas principais de agendamento de tarefas no Linux, o at e o cron. O at maisutilizado para agendamentos simples de comandos, enquanto o cron mais utilizado para agendar

    procedimentos recorrentes do sistema.

    at

    Essas tarefas so agendadas via linha de comando, atravs do comando at, no formato:

    atquandocomando

    Onde quando pode ser, por exemplo:now

    3am + 2 days

    midnight

    10:15 april 12

    teatime

    Outras opes de datas e formatos podem ser consultados em /usr/share/doc/at-xxx/timespec.

    Os agendamentos ficam armazenados em /var/spool/at/*. Para conferir os agendamentos do

    42

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    43/105

    Tpico 111: Tarefas Administrativas

    usurio atual, usa-se at -l ou atq. Um agendamento pode ser apagado atravs de seu nmeroespecfico, fornecido para o comando atrm.

    Usurios comuns podero usarat se constarem no arquivo /etc/at.allow. Se

    /etc/at.allow no existir, o arquivo /etc/at.deny ser consultado e sero bloqueados aouso do at os usurios que nele constarem. Se nenhum dos arquivos existir, apenas o usurio rootpoder usar o at.

    cron

    A cada minuto, o daemon crondl as tabelas de agendamento (crontabs) contendo tarefas a seremexecutadas em data e hora especficas. Crontabs de usurios ficam em /var/spool/cron/*. Ocrontab do sistema /etc/crontab. Esses arquivos no devem ser editados diretamente, masatravs do comando crontab.

    Opes de crontab:

    crontab -l usurio

    Mostra as tarefas agendadas porusurio

    crontab -e usurio

    Edita o crontab de usurio no editor padro do sistema

    crontab -d usurio

    Apaga o crontab de usurio

    Se no fornecido, ser assumido como usurio o usurio atual.

    Cada linha no arquivo crontab representa uma tarefa, no formato:0-59 0-23 0-31 1-12 0-6 comando| | | | || | | | `--> Dia da Semana| | | || | | `--> Ms| | || | `--> Dia| || `--> Hora|`--> Minuto

    O trao - delimita um perodo para execuo. O caractere asterisco * em um campo determinaa execuo do comando sempre que o agendamento corresponder a qualquer marcao para ocampo em questo. O caracter barra / estabelece um passo para a execuo.

    Executarscript_backup a cada quatro horas, de segunda sexta, nos meses de maio e junho:

    * */4 * 5,6 1-5 /usr/local/bin/script_backup

    importante especificar o caminho completo para o comando, pois a tarefa ter apenas as variveisde ambiente USER, HOME e SHELL.

    Se a tarefa produzir alguma sada, esta ser enviada por email para o usurio. Para evitar essecomportamento, basta redirecionar a sada da tarefa para /dev/null ou para um arquivo.

    43

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    44/105

    Tpico 111: Tarefas Administrativas

    possvel controlar o uso do crontab atravs dos arquivos /etc/cron.allow e/etc/cron.deny. Se /etc/cron.allow existir, apenas os usurios que nele constarem

    podero agendar tarefas. Se /etc/cron.deny existir, os usurios nele existentes sero proibidosde agendar tarefas. Se nenhum dos arquivos existirem, todos usurio podero agendar tarefas.

    Objetivo 1.111.5: Manter uma Estratgia Eficiente de Backupde DadosPeso: 3

    As ferramentas de backup mais tradicionais so tar, cpio e dump.tar e cpio sosemalhantes, aglutinam arquivos em arquivos ou fitas e podem extrair e atualizar estes arquivos.dump age de forma diferente, lidando diretamente com o sistema de arquivos monoltico.

    Em linhas gerais, tar e cpio so utilizados para arquivar grupos de arquivos especficos, dentro

    de um ou mais sistemas de arquivos.Um esquema simples de backup arquivar todos os dados na primeira vez e depois arquivar apenasos dados modificados. O primeiro passo chama-se backup completo e o segundo backupincremental. O backup completo leva mais tempo devido a necessidade de copiar todos os dados.

    No entanto, apesar do backup incremental ser mais rpido, o procedimento de recuperar os arquivosde um backup incremental mais moroso, uma vez que ser necessrio mais de um procedimentode restaurao.

    Fazer backup de /etc em mltiplos disquetes usando tar:

    # tar cMf /dev/fd0 /etc

    Fazer backup de /etc em um drive de fita usando tar:

    # tar cf /dev/ftape /etc

    Verificar se h diferena entre os dados copiados e os originais:

    # tar dvf /dev/ftape

    O backup incremental realizado informando a data base com a opo -newer (-N). Apenas osarquivos criados a partir da data fornecida sero arquivados.# tar cf /dev/ftape -newer '12 apr 2006' /etc

    Verificando se h erros no backup:# tar tvf /dev/ftape

    Arquivos apagados dos dados atuais no sero apagados no backup incremental atravs do tar.

    Dessa forma, podero haver diversos nveis de backup, a partir de um nvel 0 (backup completo).Enquanto que com o tar e cpio a criao e recuperao de nveis de backup feita manualmente,com o comando dump ela nativa, a recuperao de um nvel automaticamente recuperar osnveis anteriores. Utilizando-se do dump, as informaes referentes ao backup so armazenadas/etc/dumpdates. O comando restore utilizado para restaurar o backup. Arquivos de

    backup dump podem ser testados com o comando restore -tarquivo.

    Outra possibilidade criar uma imagem de um dispositivo, utilizando o comando dd:

    44

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    45/105

    Tpico 111: Tarefas Administrativas

    # dd if=/dev/hda of=backup-hda.img

    A imagem preservar o sistema de arquivos e at a MBR (se houver) do dispositivo /dev/hda.Para restaurar o backup, basta inverter os argumentos:

    # dd if=backup-hda.img of=/dev/hdaO dispositivo em questo dever estar desmontado ou montado como somente-leitura.

    Objetivo 1.111.6: Manuteno de Data e Hora do SistemaPeso: 4

    Relgios e Fuso Horrio

    O kernel do Linux mantm um relgio separado do relgio do hardware (BIOS). Durante o boot, orelgio do kernel l o relgio do hardware e a partir da roda distintamente. Esse procedimento se

    justifica pois ler o relgio do hardware lento e complicado. O relgio do kernel guarda a horauniversal, de modo que fusos horrios so calculados por cada processo atravs das ferramentastimezone.

    O relgio do hardware pode estar em hora local ou em hora universal. prefervel que esteja emhora universal, assim no ser necessrio modific-lo no perodo de horrio de vero.

    O fuso horrio do sistema determinado pelo arquivo /etc/localtime, que geralmente umlink simblico apontando para o arquivo real em /usr/share/zoneinfo/ ou em/usr/lib/zoneinfo/. Um usurio poder alterar o fuso horrio para si definindo a varivel deambiente TZ. O formato da varivel TZ est elucidado no manual do comando tzset.

    O comando date usado para mostrar a hora e data do sistema:$ dateQua Abr 12 18:38:05 BRT 2006

    date -u mostra a hora universal:

    $ date -uQua Abr 12 21:38:09 UTC 2006

    O prprio comando date usado para alterar o relgio de software (do kernel).

    # date MMDDhhmmCCYY.ss| | | | | | || | | | | | `--> segundos (opcional)| | | | | || | | | | `--> Ano, poro da dcada (opcional)| | | | || | | | `--> Ano, poro do sculo (opcional)| | | || | | `--> Minutos| | || | `--> Horas| || `--> Dia|`--> Ms

    A opo -u especifica que a data informada refere-se hora universal.

    45

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    46/105

    Tpico 111: Tarefas Administrativas

    Para mostrar ou alterar o relgio do hardware, usado o comando hwclock. Com o argumento -watualiza o relgio de hardware pelo relgio de software. Com o argumento -s atualiza o relgio desoftware com o relgio de hardware. Como no comando date, o argumento -u indica horauniversal.

    NTP Network Time Protocol

    Um computador em rede pode manter seu relgio atualizado comparando a hora com um outrocomputador na rede que tenha um relgio preciso. Isso possvel atravs do protocolo NTP.

    Para um sistema usar o NTP, o arquivo /etc/ntp.conf deve estar configurado adequadamentee o daemon ntpd deve estar ativo. O ntpd utiliza o protocolo UDP, atravs da porta decomunicao 123.

    Exemplo bsico de /etc/ntp.conf:

    server br.pool.ntp.orgserver 0.pool.ntp.orgserver 1.pool.ntp.orgserver 2.pool.ntp.org

    driftfile /etc/ntp.drift

    Neste arquivo /etc/ntp.conf mnimo, foram definidos apenas os servidores NTP e o arquivodrift. Servidores NTP pblicos podem ser encontrados em http://www.pool.ntp.org/. Outras opes,como restrio de acesso ao servidor NTP local, podem ser consultadas na documentaoencontrada em /usr/doc/ntp-x.x.x/.

    A indicao do arquivo /etc/ntp.drift importante pois nele que o ntpd armazenar asestatsticas de erro, projetando o intervalo de erro do relgio do sistema e atualizando-o ao passodessa projeo.

    Se j estiver rodando, o daemon ntpd dever ser reiniciado para utilizar as novas configuraes.Em execuo, o ntpd poder funcionar como servidor NTP para outras mquinas na rede.

    Para conferir o andamento do ntpd, pode ser usado o comando ntpq:

    # ntpq -npremote refid st t when poll reach delay offset jitter

    ==============================================================================+200.218.160.160 200.20.186.75 2 u 80 128 177 203.427 76.433 68.727+72.21.46.202 67.52.51.34 3 u 1 256 377 187.361 29.718 79.019

    +24.123.66.139 192.168.1.231 2 u 1 256 337 210.402 39.727 120.724*64.136.200.96 .WWVB. 1 u 200 128 36 235.761 43.737 75.380

    Caso os valores locais de hora difiram do servidor, o ntpd ir aproximar lentamente a hora at quese corresponda, para evitar mudanas bruscas que podem causar confuso no sistema.

    Para forar o ajuste imediato do relgio, utilizado o comando ntpdateservidor.

    46

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    47/105

    Tpico 112: Fundamentos de Redes

    Objetivo 1.112.1: Fundamentos de TCP/IP

    Peso: 4

    Endereo IP

    Endereos IP no formato xxx.xxx.xxx.xxx (dotted quad) so a expresso em nmerosdecimais de um endereo de rede binrio. Cada um dos quatro campos separados por pontoscorresponde a um byte, geralmente chamados octetos. Por exemplo, o nmero ip:

    192.168.1.1

    Corresponde forma binria:

    11000000.10101000.00000001.00000001Tabela simples para converso de valores binrios para decimal:

    00000001 20 1

    00000010 21 2

    00000100 22 4

    00001000 23 8

    00010000 24 16

    00100000 25 32

    01000000 26 64

    10000000 27 128

    Cada interface de rede numa mesma rede dever ter um endereo IP nico.

    Endereo de rede, mscara de rede e endereo broadcast

    Alm do endereo da interface, um nmero IP contm o endereo de sua rede, que determinadoatravs da mscara de rede ou mscara de sub-rede. O clculo feito a partir da forma binrio dosnmeros IP.

    Mscara de 16bit:

    11111111.11111111.00000000.00000000 255.255.0.0

    Mscara de 17bit:

    11111111.11111111.10000000.00000000 255.255.128.0

    Na primeira mscara (16bit), pertencero a mesma rede os IPs cujos dois primeiros octetos doendereo no difiram. Na segunda mscara (17bit), pertencero a mesma rede os IPs cujos dois

    primeiros octetos e o primeiro bit do terceiro octeto do endereo no difiram.

    Dessa forma, dois endereos de interface 172.16.33.8 e 172.16.170.3 estariam na mesma

    rede se a mscara for de 16bit, mas no se a mscara for de 17bit. As mscaras de rede variam

    47

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    48/105

    Tpico 112: Fundamentos de Redes

    dependendo do contexto da rede.

    Conseqentemente, o endereo da rede corresponde parte do nmero IP determinado pelos bitsmarcados da mscara de rede. Para um host 172.16.33.8 com mscara de rede 255.255.0.0,o endereo da rede ser 172.16.0.0.

    O endereo broadcast o nmero IP que designa todas as interfaces numa rede. Para um endereode rede 172.16.0.0, o endereo broadcast ser 172.16.255.255.

    Atravs de equaes com operadores matemticos lgicos (AND, OR e NOT) os endereos binriosso calculados bit a bit:

    IP de rede = IP de interface AND mscara de rede

    Broadcast = IP de rede OR NOT mscara de rede

    Classes de Redes

    Para redes privadas (LANs) h uma certa gama especficas de IPs que podem ser usados e que nodevem ser aplicados a interfaces ligadas internet.

    Endereos reservados a redes privadas:

    Classe A

    1.0.0.0 at 127.0.0.0. Endereos de rede de 8bit e endereos de interfaces de 24bit. Oprimeiro octeto do nmero IP representa o endereo da rede. A mscara padro ser 255.0.0.0.Permite aproximadamente 1.6 milho de IPs de interface por rede.

    Classe B

    128.0.0.0 at 191.255.0.0. Endereos de rede de 16bit e endereos de interfaces de 16bit.Os dois primeiros octetos representam o endereo da rede. A mscara padro 255.255.0.0.Permite 16.320 redes com 65.024 IPs de interface para cada uma.

    Classe C

    192.0.0.0 at 223.255.255.0. Endereos de rede de 24bit e endereos de interfaces de 8bit.Os trs primeiros octetos representam o endereo da rede. A mscara padro 255.255.255.0.Permite aproximadamente 2 milhes de redes com 254 IPs de interface cada.

    Subredes

    Subredes podem ser definidas atravs da mscara de rede, avanando sobre os bits referentes interface. Dessa forma, uma rede pode ser dividida em redes menores, sem classe, chamadas CIDR Classless InterDomain Rounting.

    Por exemplo, uma rede classe C 192.168.1.0. Ativando o primeiro bit do quarto octeto namscara de rede, os primeiros 25bit do IP seriam referentes ao endereo da rede:

    Mscara de rede:

    11111111.11111111.11111111.10000000

    255.255.255.128

    Conseqentemente, a rede classe C foi subdividida em duas subredes sem classe, de 25bit:

    48

  • 8/14/2019 Guia de Estudos LPIC 102 - Luciano Antonio Siqueira

    49/105

    Tpico 112: Fundamentos de Redes

    Primeira SubRede: 192.168.1.0

    Os caracteres x correspondem aos bits de interfaces nessa subrede:

    11000000.10101000.00000001.0xxxxxxx

    192.168.1.1 at 192.168.1.126

    Endereo de broadcast:

    11000000.10101000.00000001.01111111

    192.168.1.127

    Segunda SubRede: 192.168.1.128

    Os caracteres x correspondem aos bits de interfaces nessa subrede:

    11000000.10101000.00000001.1xxxxxxx

    192.168.1.129 at 192.168.1.254Endereo de broadcast:

    11000000.10101000.00000001.11111111

    192.168.1.255

    Uma rede de 26bit resultaria no seguinte cenrio:

    Mscara de rede:

    11111111.11111111.11111111.11000000

    255.255.255.192

    Subredes resultantes:

    Primeira SubRede: 192.168.1.0

    Interfaces:

    11000000.10101000.00000001.00xxxxxx

    192.168.1.1 at 192.168.1.62

    Broadcast:

    11000000.10101000.00000001.00111111

    192.168.1.63

    Segunda SubRede: 192.168.1.64

    Interfaces:

    11000000.10101000.00