Serviços do Sistema

12 fev

Inicialmente no artigo Inicialização do Sistema foi descrito todas as etapas que ocorre quando ligamos o computador até o momento que sistema operacional esteja pronto para uso. Descobrimos que no GNU/Linux o primeiro processo a ser executado é o init, e que ele é responsável por iniciar todos os outros serviços que serão carregados de acordo com o nível de runlevel configurado no arquivo /etc/inittab. O init por padrão inicia automaticamente um certo número de processos, para manter a segurança do sistema é extremamente importante termos conhecimento de quais processos estão sendo executados em nosso computador, muitas das vezes são processos que não iremos usar e podemos desativa-los para minimizar sua exposição a uma possível vulnerabilidade, ou então, um processo que precisamos e está desativado. Existe diferentes maneiras de está verificando e gerenciando os serviços do sistema em cada nível de runlevel. Nas distribuições derivadas do Red Hat isso pode ser feito das seguites maneiras: por uma interface gráfica chamada de Ferramentas de Configuração de Serviços, pelo utilitário Ntsysv, que é uma interface mais simples, e pelo Chkconfig, um utilitário modo texto muito fácil de ser usado. Essas ferramentas não modificam os scripts localizado dentro do diretório /etc/init.d, elas vão apenas adicionar, remover ou modificar os links simbólicos dentro dos diretórios rc[0 à 5].d. Vamos conhecer um pouco de cada uma delas e ver como que podemos usa-las.

A primeira delas é a mais fácil de todas.

Ferramentas de Configurado de Serviços: É o modo mais simples de modificar os serviços que serão inicializados pelo sistema, ideal para quem está começando a utilizar o sistema GNU/Linux. No CentOS para acessa-la basta ir no menu Sistema >> Administração >> Serviços
Na janela que se abre podemos ver do lado esquerdo os diverso tipos de serviços do sistema localizados no diretório /etc/rc.d/init.d, os que aparecem com o quadradinho marcado estão sendo inicializados no nível runlevel que está sendo mostrado na execução atual – Atualmente Executando No Nível de Execução 5. Se clicarmos em algum desses serviço irá aparecer uma breve descrição do serviço e o seu status. Se deseja modificar os serviços de outro nível runlevel basta ir no menu – Editar Nível de Execução – selecionar o nível runlevel desejado e fazer as modificações.

Ntsysv – O Ntsysv é uma interface mais simples do que a anterior, mas possui a mesma funcionalidade. É acessada pelo terminal digitando o comando #/usr/sbin/ntsysv como root ou podemos digitar #setup e navegar até serviços do sistema. Irá abrir uma janela azul mostrando uma lista com todos os serviços do sistema.
Podemos navegar através deles com as setas do teclado, ativar ou desativar um determinado serviço com a tecla “Space”. Após fazer as modificações aperte a tecla “Tab” e escolha “Ok” para salvar as modificações ou “Cancelar” para deixar tudo como estava, agora e aperte “Enter” para sair do Ntsysv.

Chkconfig – O utilitário chkconfig é muito simples de ser usando, e muito útil. Por exemplo se quiséssemos criar um script de firewall com regras personalizadas, e configurar esse script para ser executado automaticamente todas as vezes que o sistema for iniciado, como poderíamos fazer isso?. Uma das maneiras é criarmos um arquivo com as regras dentro de algum diretório, exemplo: /etc/regrasfirewall e depois abrirmos o arquivo rc.local localizado dentro do diretório /etc/rc.d/, que é um dos arquivos inicializado pelo init, e acrescentarmos a seguinte linha: . /etc/regrasfirewall referente ao caminho onde está localizado o script. Ou então, poderíamos otimizar esse processo colocando o arquivo regrasfirewall dentro do diretório /etc/rc.d/init.d junto com os demais script com serviços do sistema, dar permissão de execução com o comando chmod – #chmod 755 regrasfirewall – e depois usar o chkconfig para criarmos um link simbólicos dentro dos diretórios rc [1 à 5].d. Dessa forma poderíamos ativar e desativar o serviço regrasfirewall como qualquer outro pela interface gráfica ou pelo Ntsysv como explicado anteriormente.

Vamos executar esses passos.
Depois de criado o arquivo regrasfirewall precisamos acrescentar no script após o #!/bin/bash
as seguintes linhas:
#description:<descrição do serviço a ser configurado>
#chkconfig: 2345 90 91
#processname: <nome do processo criado>

. /etc/rc.d/init.d/functions # Determina as especificação das funções de script padrão de inicialização.

Obs: Não esqueça o ” . ” que existe antes da linha /etc/re.d/init.d/functions.

A primeira linha, que é um marcador para o chkconfig, informa que o script deve ser inicializado nos níveis de execução 2, 3, 4 e 5, com uma ordem de inicialização de 90 e uma ordem de finalização de 91.
A segunda linha é uma descrição do que o serviço em questão realiza.
Vamos usar o chkconfig para criar o link simbólicos nos diretórios rc [2 à 5].d através do comando:

#/sbin/chkconfig – -add regrasfirewall

Pronto … podemos verificar pela interface gráfica que o serviço regrasfirewall já está sendo listado junto com os demais serviços do sistema.

Essa verificação também pode ser feita usando o comando chkconfig da seguinte maneira:

# /sbin/chkconfig – -list regrasfirewall
regrasfirewall 0:não 1:não 2:sim 3:sim 4:sim 5:sim 6:não

O comando retorna o nome do serviço e em quais níveis runlevels ele está ativo.
Se quiséssemos listar todos os serviços executaríamos o comando da seguinte maneira:

# /sbin/chkconfig – -list
acpid 0:não 1:não 2:sim 3:sim 4:sim 5:sim 6:não
anacron 0:não 1:não 2:sim 3:sim 4:sim 5:sim 6:não
apmd 0:não 1:não 2:sim 3:sim 4:sim 5:sim 6:não
atd 0:não 1:não 2:não 3:sim 4:sim 5:sim 6:não
auditd 0:não 1:não 2:sim 3:sim 4:sim 5:sim 6:não
autofs 0:não 1:não 2:não 3:sim 4:sim 5:sim 6:não
avahi-daemon 0:não 1:não 2:não 3:sim 4:sim 5:sim 6:não
avahi-dnsconfd 0:não 1:não 2:não 3:não 4:não 5:não 6:não
bluetooth 0:não 1:não 2:sim 3:sim 4:sim 5:sim 6:não
capi 0:não 1:não 2:não 3:não 4:não 5:não 6:não
conman 0:não 1:não 2:não 3:não 4:não 5:não 6:não
cpuspeed 0:não 1:sim 2:sim 3:sim 4:sim 5:sim 6:não
crond 0:não 1:não 2:sim 3:sim 4:sim 5:sim 6:não
cups 0:não 1:não 2:sim 3:sim 4:sim 5:sim 6:não

Para desativar o serviço execute o comando:

#/sbin/chkconfig – -level 2345 regrasfirewall off

Para iniciar novamente:
#/sbin/chkconfig – -level 2345 regrasfirewall on

Para ativar apenas no nível Runlevel 3:
#/sbin/chkconfig – -level 3 regrasfirewall on

Obrigado a todos.

Fernando Mendonça
:wq

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: