Você está na página 1de 21

OUTRAS APOSTILAS EM:

www.projetoderedes.com.br

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

Ponto de Montagem Tipo

Opes

/dev/hda2
/dev/hda3
/dev/hdd1
none

swap
/
/mnt/hd
/proc

defaults
defaults
defaults
defaults

swap
ext2
vfat
proc

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

OUTRAS APOSTILAS E ARTIGOS EM:


www.projetoderedes.com.br

Centro de Computao da Unicamp CCUEC


Gerncia de Transferncia de Tecnologias

Pgina 21

Você também pode gostar