Você está na página 1de 21

Administrao Bsica de Servidores Linux

I Por que Administrar ? II Gerenciando Usurios III Entendendo o Diretrio /etc IV Trabalhando com o LILO V Fazendo Backups VI Recompilando e Adaptando o Kernel VII Agendando Processos crontab & at VIII Syslogd A Caixa Preta do Linux IX Tcnicas Bsicas para Trabalhar com Redes ( ifconfig, route ) X Gerenciando os Servios inetd XI Utilizando Ferramentas de Busca XII Instalando SSh / SShD

Apndice A Recuperando a Senha do root Apndice B CheckList de segurana Apndice C Gerenciando distribuies baseadas em Red Hat Apndice D Instalando o XWindows Apndice E Nveis de Execuo no Red Hat Linux

Centro de Computao da Unicamp CCUEC Gerncia de Transferncia de Tecnologias

Pgina 1

Administrao Bsica de Servidores Linux

I Por que Administrar ?


responsabilidade dos administradores: a segurana, a estabilidade e a performance do servidor. Segurana Um dos fatores que os administradores tm que se preocupar com a segurana de seu sistema, dando um enfoque especial a deteco de acessos no autorizados. Estabilidade Outra tarefa muito importante para os administradores manter no ar os servios oferecidos em seu servidor. O bom administrador busca uma estabilidade "constante". Performance E claro, devese oferecer os servios da maneira mais rpida possvel, atendendo, na medida do possvel, a necessidade dos usurios.

Um sistema que possuir essas trs caractersticas, sem dvida apresentar uma grande confiabilidade.

Centro de Computao da Unicamp CCUEC Gerncia de Transferncia de Tecnologias

Pgina 2

Administrao Bsica de Servidores Linux

II Gerenciando Usurios
Para adicionar um usurio: adduser <usurio> Em seguida necessrio definir uma senha para este usurio, utilizando o comando: passwd <usurio>

Nunca se deve ter usurios desnecessrios cadastrados. No caso de um usurio para teste, devese removlo logo aps o teste. Para remover um usurio e seu diretrio home: userdel r usurio Uma das regras de segurana mais importantes : "evitar usar o root, fazendoo somente quando necessrio. ". Com certeza muitos problemas so evitados seguindo essa simples regra. Para obter as permisses de outros usurios: su <usurio> Se o campo <usurio> for omitido, o su intender como root. E para simular um login, executando os scripts de inicializao do usurio acrescentase "" entre su e o <usurio>, como no exemplo: su vinicius

Centro de Computao da Unicamp CCUEC Gerncia de Transferncia de Tecnologias

Pgina 3

Administrao Bsica de Servidores Linux

III Entendendo o Diretrio /etc


O diretrio /etc contm todas as configuraes do servidor, por isso devese conhecer todo o seu contedo e tambm ter uma preocupao especial com as permisses de arquivos nele contidos.

Alguns arquivos importantes:


passwd neste arquivo que ficam os usurios cadastrados no sistema. Cada linha corresponde a um usurio e o caracter ":" separa os campos . Analisando o exemplo abaixo:

vinic:x:1001:0:Vinicius Schmidt,,,:/home/vinic:/bin/bash Login : Senha : Id : Gid : Nome e Dados : Diretrio : Shell Login: vinic a identificao do usurio que tambm pode ser usado para identificao do email. Senha: x Esse "x" informa que a senha est em outro arquivo mais seguro. Id: 1001 o cdigo nico para o Linux identificar cada usurio. Nunca devese ter dois usurios com o mesmo cdigo. Gid: 0 o cdigo do grupo primrio que o usurio pertence. Nome e Dados: Vinicius Schmidt,,, Este campo usado para armazenar informaes sobre o usurio como nome, telefone, sala, etc.. Esses dados so separados por "," e devem obedecer um padro. Diretrio: /home/vinic Este campo informa qual o directrio home, do usurio. Shell: /bin/bash a shell default do usurio. Para usurios que no precisam de shell deve se colocar "/dev/null".

Centro de Computao da Unicamp CCUEC Gerncia de Transferncia de Tecnologias

Pgina 4

Administrao Bsica de Servidores Linux


shadow Este o arquivo mais visado pelos "intrusos", pois nele que ficam gravadas todas as senhas de acesso ao sistema. A senha fica necessariamente criptografada dificultando a sua descoberta por pessoas no autorizadas, porem para quem sabe como quebrar essa criptografia no difcil fazlo. Por isso a necessidade de senhas complexas. Abaixo uma linha do arquivo shadow, e a senha criptografada em destaque: vinic:$1$04Jd3syi$iadsszEgE53un1Muk.:11046:0:99999:7::: group Este arquivo descreve quais so os grupos do sistema. O primeiro campo corresponde ao nome do grupo, o segundo campo a senha ( caso seja necessria ), o terceiro o chamado GID ou Group ID, e o prximo campo so os usurios pertencentes a este grupo, observando que os mesmos so separados por "," . Abaixo um pequeno exemplo desse arquivo: root::0:root bin::1:root,bin,daemon inittab Este o arquivo principal de inicializao do Linux, ele quem d inicio aos demais arquivos dentro do diretrio /etc/rc.d . O modo mais usado o "3" que indica para iniciar todas as tarefas, mas continuar no console. Existe tambm o modo "5" que entra com a tela de login j em modo grfico. Veja detalhes no Apndice E, Nveis de Execuo no Red Hat Linux. fstab Estabelece os pontos default de montagem do sistema. Partio /dev/hda2 /dev/hda3 /dev/hdd1 none Ponto de Montagem Tipo swap / /mnt/hd /proc swap ext2 vfat proc Opes defaults defaults defaults defaults 0 1 0 0 0 1 0 0

login.defs o arquivo de configuraes do login, possui informaes valiosas para melhorar a segurana do seu ambiente. um arquivo muito simples de configurar pois baseado em exemplos, e seus parmetros so simples. profile Toda vez que um usurio loga, este arquivo executado, por isso ele usado para setar as variveis de ambiente globais, dentre outras coisas. Centro de Computao da Unicamp CCUEC Gerncia de Transferncia de Tecnologias Pgina 5

Administrao Bsica de Servidores Linux

hosts.deny Hosts que no tem permisso para acessar a mquina. in.telnetd: 143.106.20.11 hosts.allow Hosts que tem permisso para acessar a mquina. wu.ftpd: 200.240.2.183 Tanto nos arquivos hosts.deny quanto hosts.allow podese usar variveis coringa: ALL = Todos os IPs LOCAL = Todos os IPs locais REMOTE = Todos os IPs remotos services Este arquivo descreve a relao entre os servios e as portas mais comuns.

Descrio Porta / Protocolo


smtp www 25/tcp 80/tcp mail http # WorldWideWeb HTTP

Diretrios mais importantes:


/etc/rc.d Neste diretrio esto os arquivos responsveis pela carga dos daemons na inicializao do Linux. /etc/skel Todos os arquivos contidos neste diretrio sero copiados para o home de um usurio recm criado.

Centro de Computao da Unicamp CCUEC Gerncia de Transferncia de Tecnologias

Pgina 6

Administrao Bsica de Servidores Linux

IV Trabalhando com o LILO


O LILO ( Linux Loader), como o prprio nome j diz o responsvel pela "carga" do kernel do Linux na memria. O arquivo de configurao responsvel pelas configuraes do LILO fica no diretrio /etc e chamado de lilo.conf. Abaixo um exemplo bem simples do contedo desse arquivo. boot = /dev/hda delay = 40 compact vga = normal root = /dev/hda1 readonly image = /zImage2.2.14 label = stable image = /zImage2.3.99 label = test other = /dev/hda3 label = dos table = /dev/hda Para alterar o LILO, basta editar o arquivo e rodar o programa lilo.

V Fazendo Backups
Realizar backups do sistema hoje em dia uma tarefa essencial de todo administrador. No Linux podese usar o comando tar para compactar os arquivos. Sintaxe: tar [opes] [f arquivo] Opes: x : descompactar. t : lista o contedo de um arquivo. v : mostra na tela o que est sendo feito. z : descompacta arquivos que tambm estejam gzipados. f : especifica o nome do arquivo. c : cria um novo arquivo. Exemplo:

(faz o backup de sua rea pessoal) tar cvzf meu_backup.tgz ~ tar cvzf backup.tgz /home (faz o backup da rea dos usurios ) tar xvzf /root/backup.tar.gz (descompacta o backup)

Centro de Computao da Unicamp CCUEC Gerncia de Transferncia de Tecnologias

Pgina 7

Administrao Bsica de Servidores Linux

VI Recompilando e Adaptando o Kernel


Os administradores devem se preocupar em manter a mquina mais enxuta possvel e para isso devese recompilar o kernel apenas com o necessrio. Uma sugesto a separao em mdulos, o que sem dvida reduzir o "peso" da mquina. Para recompilar o kernel devese baixar o fonte de uma verso estvel no site http://www.kernel.org ou um mirror confivel. Uma vez com o fonte , devese descompactalo no diretrio /usr/src, e ento entrar no diretrio /usr/src/linux . Abaixo as etapas necessrias para "personalizar" o kernel. make menuconfig Entra no modo de configurao do kernel. Um ambiente amigvel de fcil compreenso onde se pode marcar os pacotes que sero usados. make dep Acerta as dependncias das bibliotecas necessrias para a compilao. make Compila o kernel. make modules Compila os mdulos. make install Instala o kernel. make modules_install Instala os mdulos.

Centro de Computao da Unicamp CCUEC Gerncia de Transferncia de Tecnologias

Pgina 8

Administrao Bsica de Servidores Linux

VII Agendando Processos crontab & at


Para agendar processos muito demorados como o download de um arquivo muito grande, ou qualquer outro processo que necessite de uma execuo automtica, devese usar basicamente dois comandos: o at ou o crontab. O comando at agenda a execuo de um comando e logo depois que esse processo ocorre este comando no ser mais executado. Para agendar um programa com at usase: echo "comandos" | at <quando> ou at <quando> at> comando1 at> comando2 at> ^D (Ctrl + D)

E para agendar processos que devem rodar periodicamente usase o comando crontab. H necessidade de se editar um arquivo que possui o seguinte formato:

Minuto

Hora

Dia

Ms

Dia da Semana

Comando

Onde Minuto um intervalo de 0 a 59, Hora um intervalo de 0 a 23, Dia de 1 a 31, Ms de 1 a 12 e os Dias da Semana podem variar de 0 a 6 correspondendo a variao de domingo a sbado. As linhas que comeam com o caracter "#" so ignoradas. Para editar: crontab u <user> e Para listar: crontab u <user> l Exemplo: # Para executar um comando de 2 em 2 minutos 059/2 * * * * /bin/ls # Para executar um comando de 4 em 4 horas e s 18 horas * 023/4, 18 * * * /usr/bin/comando

Centro de Computao da Unicamp CCUEC Gerncia de Transferncia de Tecnologias

Pgina 9

Administrao Bsica de Servidores Linux

VIII Syslogd A Caixa Preta do Linux


Para analisar o que vem ocorrendo ou j ocorreu no sistema, o linux possui o syslogd, que funciona como uma caixa preta, guardando em arquivos, informaes como: data e hora do boot , login de usurio, e outros dados importantes para analisar o servidor. O arquivo responsvel pelas configurao do syslogd o /etc/syslog.conf . *.=info;*.=notice *.=debug /usr/adm/messages /usr/adm/debug

Os registros deste arquivo so divididos em facility , priority e destino, podendo haver derivaes como dois conjuntos "facility.priority" para um mesmo destino. As "facilities" podem ser: auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security (mesmo que auth), syslog, user,uucp e local0. J as "priorities" seguem em ordem crescente: debug, info, notice, warning, warn (memo que warning), err, error (mesmo que err), crit, alert, emerg, panic (mesmo que emerg). Um arquivo gerado na grande maioria dos sistemas *nix o /var/log/messages , este arquivo contm informaes genricas sobre todo o sistema. Um exemplo do contedo desse arquivo segue abaixo. Apr 4 18:27:49 dende sshd[2080]: log: Connection from 200.245.11.158 port 1026 Apr 4 18:28:31 dende sshd[2081]: log: Connection from 200.245.11.158 port 1028 Apr 4 18:29:05 dende sshd[2080]: log: Could not reverse map address 200.245.11.158. May 12 09:37:00 dende su[4559]: + pts/0 vinicroot Outro arquivo muito comum o /var/log/debug que contm informaes mais detalhadas, abaixo um exemplo. Apr 4 16:38:19 dende identd[1985]: Successful lookup: 1501 , 25 : vinic.root Apr 25 13:27:36 dill kernel: VFS: Disk change detected on device fd(2,0)

Centro de Computao da Unicamp CCUEC Gerncia de Transferncia de Tecnologias

Pgina 10

Administrao Bsica de Servidores Linux

IX Tcnicas Bsicas para Trabalhar com Redes ( ifconfig, route )


O Linux um sistema operacional totalmente compatvel com redes, dos tipos mais heterogneos. Para listar as interfaces de rede usase o comando: ifconfig a Para atribuir um endereo IP para uma interface usase: ifconfig eth0 <endereo> broadcast <broadcast> netmask <mascara> Tambm existem as rotas para o pacote IP poder sair para fora da rede local, caso haja um roteador. Para exibir a tabela de rotas usase o comando: route n ou netstat nr Para adicionar uma rota: route add default gw <Gateway> netmask 0.0.0.0 metric 1

E caso haja a necessidade de excluir uma rota usase: route del <destino>

Centro de Computao da Unicamp CCUEC Gerncia de Transferncia de Tecnologias

Pgina 11

Administrao Bsica de Servidores Linux

X Gerenciando os Servios inetd


O inetd um daemon que pode gerenciar outros daemons, tendo uma funo de supervisor. Este supervisor executado sempre na carga do sistema, e busca a lista de servios que devem passar pelo inetd no arquivo: /etc/inetd.conf . Este arquivo possui registros no seguinte formato:

servio

tipo

protocolo

espera

usurio

servidor linha_de_comando

servio: Fornece o nome do servio a ser disponibilizado. Ele deve ser traduzido em um nmero de porta atravs de uma pesquisa no arquivo /etc/services. tipo: Especifica o tipo de conexo que ser utilizada, stream ( para conexes orientadas a protocolo ) ou dgram ( para protocolos que utilizam datagramas). Servios baseados em TCP devem sempre ser especificados como stream, enquanto que servios baseados em UDP devem sempre ser definidos como dgram. protocolo: Informa o nome do protocolo usado pelo servio. Deve ser um nome que possa ser encontrado no arquivo /etc/protocols, como UDP, TCP, ICMP, etc... espera: Esta opo aplicase somente a conexes por datagramas. Ela pode ser igual a wait , que ir executar um daemon por vez (monoservidor), ou nowait , que nos permite trabalhar com vrios daemons ao mesmo tempo. usurio: Esta a identificao de acesso do usurio sob o qual o processo ser executado. aconselhvel aplicar os usurios com a menor permisso possvel como nobody. Apenas quando necessrio devese usar root. servidor: Fornece o caminho completo do programa servidor a ser utilizado. linha de comando: Esta a linha de comando a ser enviada para o servidor. Isso inclui o argumento 0, que o nome do comando. Abaixo um pequeno exemplo do /etc/idetd.conf imap2 stream tcp #pop3 stream tcp telnet stream tcp nowait root /usr/sbin/tcpd nowait root /usr/sbin/tcpd nowait root /usr/sbin/tcpd imapd ipop3d in.telnetd

Quando se faz alguma alterao nesse arquivo basta reiniciar o daemon inetd com: killall HUP inetd

Centro de Computao da Unicamp CCUEC Gerncia de Transferncia de Tecnologias

Pgina 12

Administrao Bsica de Servidores Linux

XI Utilizando Ferramentas de Busca


Para deixar o sistema em dia, com pacotes sempre atualizados, sugerese a pesquisa contnua nos vrios sites que oferecem tais pacotes. Ex.: http://www.freshmeat.net

XII Instalando SSh / SShD


Problemas com o telnet (Sniffers)
O telnet antigamente era muito usado para obter acesso remoto de um servidor, mas o grande problema do telnet que os pacotes de dados passam limpos (no criptografados) pela rede possibilitando um ataque, que no nada mais do que a captura de todos os pacotes que percorrem na rede, inclusive senhas, nmeros de carto de crdito, etc ...

Soluo com SSh


A soluo encontrada pelos profissionais de segurana e administradores foi a substituio do telnet por ssh, que criptografa os dados dos pacotes, impossibilitando a sua fcil compreenso. Para instalar o SSh devese baixar o pacote de algum lugar, como, por exemplo: ftp://ftp2.unicamp.br/pub/security/tools/ssh/ssh1.2.27.tar.gz, tendo o cuidado de se baixar o produto de instituies com reconhecida credibilidade, pois do contrrio, correse um srio risco de baixar "trojan horse". Depois de pegar o pacote: tar xvzf ssh1.2.27.tar.gz Depois apenas mais trs comandos dentro do diretrio do ssh1.2.27: ./configure ; make ; make install Pronto ! O SSh j est instalado agora para colocar seu daemon no /etc/rc.d/rc.local1 , para isso podese simplesmente fazer assim : echo "/usr/local/sbin/sshd" >> /etc/rc.d/rc.local

1 rc.local: Este arquivo executado sempre na hora do boot, como o Autoexec.bat do DOS

Centro de Computao da Unicamp CCUEC Gerncia de Transferncia de Tecnologias

Pgina 13

Administrao Bsica de Servidores Linux

Apndice A Recuperando a Senha do root


Quando se esquece a senha do root no necessrio a reinstalao de todo o sistema. Podese usar algumas falhas de segurana existentes quando temos acesso fsico ao servidor para trocar a senha.

Modo "single"
Algumas distribuies permitem que na hora da carga ( LILO), se asse o parmetro "single" aps o label correspondente a partio Linux. Na maioria das distribuies esse label "linux", ficando assim linux single.

Montando o Sistema de Arquivos Atravs de disquetes


Pode utilizar os disquetes de instalao ou de recuperao, ou at mesmo outro sistema Linux, para montarmos o sistema de arquivos que contm o arquivo shadow do root que no se sabe a senha. Basta criar um diretrio vazio, ex.: mkdir hd, e usar esse novo diretrio como ponto de montagem para o sistema, ex.: mount t ext2 /dev/hdxx ./hd Feito isso, devese entrar no diretrio etc que est dentro do diretrio hd e editar o arquivo shadow excluindo o que est entre os primeiros " : " para a linha que correponde ao registro do root (possivelmente a primeira).

Centro de Computao da Unicamp CCUEC Gerncia de Transferncia de Tecnologias

Pgina 14

Administrao Bsica de Servidores Linux

Apndice B CheckList Bsico de Segurana


Para manter o servidor sempre seguro devese tomar cuidado com:

Servios Abertos:
Servios desnecessariamente abertos, so os maiores "responsveis" pelas invases atualmente. Senhas Fracas: Podem ser quebradas facilmente atravs de programas "Brute Force". Daemons desatualizados ( sujeitos a exploits): Daemons com bugs, so visados pelos "Intrusos" devido a sua alta vulnerabilidade, e existem sites especializados em relatar tais bugs para qualquer pessoa. Acesso Fsico: E claro, devese tomar cuidado com o local fsico onde se encontra o servidor, observando condies de possveis acidentes, furtos, etc..

Centro de Computao da Unicamp CCUEC Gerncia de Transferncia de Tecnologias

Pgina 15

Administrao Bsica de Servidores Linux

Apndice C Gerenciando distribuies baseadas em Red Hat


Distribuies baseadas no Red Hat Linux possuem uma ferramenta que facilita em muito o gerenciamento do Linux. Tratase do linuxconf, que realiza de maneira integrada vrias tarefas como administrao de usurios, redes, e muitas outras coisas. Para utilizar o linuxconf devese estar com as permisses de root. Outra facilidade muito interessante que essa distribuio possui o seu gerenciardor de pacotes, rpm ( Red Hat Package Mananger). Para obter detalhes sobre o seu funcionamento um bom endereo : https://www.DicasL.unicamp.br/linux/rpm.html

Apndice D Instalando o XWindows


Instalar o ambiente grfico se tornou uma tarefa simples e intuitiva com o programa XF86Setup ou com Xconfigurator, que vieram substituir o xf86config. O XF86Setup trabalha em modo grfico permitindo fcil acesso entre as opes da configurao, j o Xconfigurator mais comum nas distribuies baseadas em Red Hat, como o Conectiva Linux. Uma outra maneira interessante de se configurar o XWindows editar o arquivo XF86Config encontrado nos diretrios /etc ou /etc/X11 .

Centro de Computao da Unicamp CCUEC Gerncia de Transferncia de Tecnologias

Pgina 16

Administrao Bsica de Servidores Linux

Apndice E Nveis de Execuo no Red Hat Linux


Sistemas Linux podem funcionar em vrios nveis distintos de execuo. Cada nvel caracterizado pelo conjunto de processos permanentes e funes oferecidas. Sistemas Red Hat Linux e derivados, utilizam seis nveis de execuo, ou runlevels, como so mais conhecidos. Esta concepo tem suas origens no sistema Unix desenvolvido na AT&T (System V Unix). Os nveis de inicializao so controlados pelos scripts que se encontram no diretrio /etc/rc.d/init.d. Uma listagem deste diretrio revela os seguintes arquivos: atd single portmap linuxconf functions squid gpm sshd rusersd netfs inet ypbind keytable crond smb postgresql lpd marsnwe halt syslog rwhod network nfslock killall dhcpd snmpd random rstatd named httpd xfs sendmail

Uma rpida inspeo nos revela vrios servios conhecidos como sendmail, httpd e named. Cada nvel de execuo controlado atravs de links simblicos existentes nos seis diretrios (/etc/rc.d/rc1.d at /etc/rc.d/rc6.d). Examinemos o contedo do diretrio /etc/rc1.d: # ls l lrwxrwxrwx 1 root lrwxrwxrwx 1 root lrwxrwxrwx 1 root lrwxrwxrwx 1 root lrwxrwxrwx 1 root lrwxrwxrwx 1 root lrwxrwxrwx 1 root lrwxrwxrwx 1 root lrwxrwxrwx 1 root lrwxrwxrwx 1 root lrwxrwxrwx 1 root lrwxrwxrwx 1 root lrwxrwxrwx 1 root lrwxrwxrwx 1 root

root 19 Mar 22 21:02 K00linuxconf > ../init.d/linuxconf root 18 Mar 22 20:54 K05keytable > ../init.d/keytable root 13 Mar 22 20:59 K10xfs > ../init.d/xfs root 13 Mar 22 20:58 K15gpm > ../init.d/gpm root 15 Mar 22 20:53 K15httpd > ../init.d/httpd root 18 Mar 22 21:05 K30sendmail > ../init.d/sendmail root 14 Mar 22 21:03 K50inet > ../init.d/inet root 13 Mar 22 20:53 K60atd > ../init.d/atd root 15 Mar 22 21:06 K60crond > ../init.d/crond root 13 Mar 22 21:02 K60lpd > ../init.d/lpd root 15 Mar 22 20:59 K75netfs > ../init.d/netfs root 17 Mar 22 20:59 K90network > ../init.d/network root 16 Mar 22 21:06 K99syslog > ../init.d/syslog root 16 Mar 22 20:59 S00single > ../init.d/single

Como se pode ver, todo o contedo do diretrio /etc/rc1.d consiste de links simblicos apontando para scripts dentro do diretrio /etc/rc.d/init.d. A primeira letra dos nomes dos links simblicos pode ser ou "S" ou "K", indicando se o processo para o qual aponta deve ser ativado (Started) ou desativado (Killed). O nmero que se segue a esta letra indica a ordem em que os processos devem ser encerrados ou ativados. Em nosso exemplo o primeiro processo a ser desativado o linuxconf. O primeiro a ser ativado, aps terem sido encerrados todos os demais processos, o script single. Centro de Computao da Unicamp CCUEC Gerncia de Transferncia de Tecnologias Pgina 17

Administrao Bsica de Servidores Linux


Cada um dos scripts residentes no diretrio /etc/rc.d/init.d aceita geralmente trs parmetros: start, stop, restart. Estes parmetros indicam, respectivamente, a ativao, desativao e desativao seguida de ativao do processo. Para determinar o nvel de execuo em que seu sistema est funcionando, utilize o comando /sbin/runlevel. Este comando ir consultar o arquivo /var/run/utmp para determinar o estado atual e o anterior. Caso o estado anterior no possa ser determinado exibida a letra "N" em seu lugar: # /sbin/runlevel N 3

Descrio dos Nveis de Execuo


A seguir listamos os estados possveis de um sistema Linux e sua descrio: Nvel 0 Neste nvel o sistema est parado Nvel 1 Sistemas funcionando no nvel 1 esto em modo monousurio, com um conjunto mnimo de processos ativos. O sistema de arquivos raiz (root) est montado em modo de leitura. Este nvel de execuo normalmente utilizado quando a inicializao normal falha por alguma razo. Nvel 2 A maior parte dos servios esto ativos, com exceo dos processos de rede (como nfs, nis, named e httpd). Nvel 3 Este o nvel normal de operao, com todos os processos ativos. Nvel 4 Este nvel no utilizado na maior parte das distribuies Nvel 5 Semelhante ao nvel 3, com todos os processo ativos, porm com uma interface grfica de logon Nvel 6 executado neste nvel um reboot do sistema.

Centro de Computao da Unicamp CCUEC Gerncia de Transferncia de Tecnologias

Pgina 18

Administrao Bsica de Servidores Linux Alterao dos Nveis de Execuo


Os nveis de execuo podem ser mudados pelo superusurio com o sistema em funcionamento. Sempre que alterado um nvel de execuo so comparados, nos dois nveis, os processos que devem ser ativados e quais devem ser desativados. O processo init, que processo pai de todos os demais (PID 1), compara a lista dos processos que devem ser encerrados no diretrio indicativo do nvel de execuo atual com a lista dos processos que devem ser ativados no nvel de execuo de destino. De posse desta informao o processo init determinar quais processos devem ser ativados ou desativados. Para reiniciar o sistema basta executar o comando init 6 Veja a lista dos links em /etc/rc.d/rc6.d: K00linuxconf K05keytable K10xfs K15gpm K15httpd K30sendmail K50inet K60atd K60crond K60lpd K75netfs K80random K89portmap K90killall K90network K99syslog S00reboot Como se pode ver, a maioria dos links iniciase com a letra "K", indicando que os processos sero desativados. Apenas um link iniciase por "S", S00reboot, que aponta para o script /etc/init.d/halt. Similarmente, para colocar o sistema em modo monousurio init 1

Centro de Computao da Unicamp CCUEC Gerncia de Transferncia de Tecnologias

Pgina 19

Administrao Bsica de Servidores Linux Nvel de Execuo Padro


O nvel em que o sistema ir funcionar indicado pela entrada id:3:initdefault: do arquivo /etc/inittab. Neste sistema o nvel padro de execuo 3. Para alterar este nvel de execuo basta alterar o nmero "3" para o valor desejado. Nunca altere este valor para "0" ou "6 ", que indicam, respectivamente, o sistema parado ou em modo de encerramento.

Definio ou Remoo de Processos Residentes


Para desativar um servio de um determinado nvel de execuo basta remover o link simblico do diretrio apropriado. Por exemplo, para desativar o servio httpd, do nvel de execuo 3, basta remover o link /etc/rc.d/rc3.d/S85httpd do diretrio /etc/rc.d/rc3.d. Similarmente, para inserir um novo servio, basta criar um link no diretrio padro de execuo, apontando para o script correspondente em /etc/rc.d/init.d: # cd /etc/rc.d/rc3.d # ln s /etc/rc.d/init.d S99local Este script realmente existe e normalmente utilizado para inserir os servios locais. Pela numerao (99), este script sempre ser o ltimo a ser ativado. Importante, certifiquese de escolher uma numerao que posicione a ativao do script na ordem correta. Se o servio dependente do funcionamento da rede ele deve necessariamente ser ativado aps estes servios estarem ativos.

Utilitrios para Configurao dos Nveis de Execuo


At agora abordamos a configurao manual dos scripts de inicializao. Existem entretanto diversos utilitrios para realizar este este trabalho. chkconfig Utilitrio para configurao dos nveis de execuo invocado a partir da linha de comandos ksysv Utilitrio grfico que permite a configurao dos nveis de execuo e ativao e desativao de processos individuais linuxconf Ferramenta genrica de configurao que permite o gerenciamento dos nveis de execuo Centro de Computao da Unicamp CCUEC Gerncia de Transferncia de Tecnologias Pgina 20

Administrao Bsica de Servidores Linux


A forma mais segura de se lidar com esta configurao certamente comea com o entendimento perfeito de seu funcionamento. As interfaces grficas podem obscurecer o significado real do que se est fazendo e conduzir a uma configurao indesejvel. Em qualquer situao, realizandose o trabalho manualmente ou atravs de utilitrios, recomendamos o backup de todos os arquivos envolvidos para poder retornar uma situao estvel em caso de problemas. Para lidar com a ativao e desativao de processos residentes, algo que frequentemente precisamos fazer sempre que alteramos a configurao de um servio, precisamos realizar os seguintes passos: # cd /etc/rc.d/init.d # httpd restart Em nosso exemplo nos dirigimos ao diretrio onde ficam todos os scripts de ativao de processos e invocamos o script httpd com o parmetro "restart". Um artifcio engenhoso para realizar esta tarefa nos fornecido, atravs de um alias, em sistemas Conectiva Linux. Este alias, disponvel no ambiente do usurio root, chamase cds: alias cds=cd /etc/rc.d/init.d && ls Como podemos ver, o alias realiza dois passos: a mudana para o diretrio /etc/rc.d/init.d e a listagem de seu contedo. Desta forma podemos visualizar o nome de todos os scripts disponveis, facilitando a invocao do script apropriado. Simples, mas extremamente til.

Referncias Adicionais
No transcorrer deste artigo foram feitas referncias aos comandos ln, init, chkconfig, inittab e runlevel. A leitura da documentao destes comandos fornece informaes valiosas sobre todo o processo descrito e pode ser acessada a partir do comando man (man ln, man init, etc). Artigo escrito por Rubens Queiroz de Almeita na Revista de Informao e Tcnologia http://www.revista.unicamp.br

Centro de Computao da Unicamp CCUEC Gerncia de Transferncia de Tecnologias

Pgina 21

Você também pode gostar