Ativando e desativando serviços

Nas distribuições que seguem o padrão do Debian, os executáveis que iniciam os serviços de sistema ficam todos dentro da pasta “/etc/init.d/. Para parar, iniciar ou reiniciar o serviço ssh, por exemplo, use os comandos:

# /etc/init.d/ssh start
# /etc/init.d/ssh stop
# /etc/init.d/ssh restart

No Kurumin, Mandriva e algumas outras distribuições, existe o comando service, que facilita um pouco as coisas, permitindo que, ao invés de ter de digitar o caminho completo, você possa controlar os serviços através dos comandos:

# service ssh start
# service ssh stop
# service ssh restart

Os scripts que estão na pasta “/etc/init.d/ servem para “chamar” os executáveis dos servidores. Eles apenas fazem as verificações necessárias e em seguida inicializam ou encerram os executáveis propriamente ditos, que em geral estão na pasta “/usr/bin/” ou “/usr/sbin/”.

A pasta “/etc/init.d/ contém scripts para quase todos os serviços que estão instalados no sistema. Quando você instala o Samba pelo apt-get, por exemplo, é criado o script “/etc/init.d/samba, mesmo que ele não exista anteriormente.

O que determina se o Samba será executado ou não durante o boot não é o script na pasta “/etc/init.d/”, mas sim um link simbólico criado dentro de uma das pastas de inicialização.

Por padrão, são executados primeiro os links que estão dentro da pasta “/etc/rcS.d/ e, em seguida, o que estiver dentro da pasta “/etc/rc5.d/ (caso o sistema esteja configurado para inicializar em runlevel 5, padrão na maioria das distribuições) ou na pasta “/etc/rc3.d/” (runlevel 3).

Os números antes dos nomes dos serviços dentro da pasta “/etc/rc5.d/” determinam a ordem em que eles serão executados. Você vai querer que o firewall seja sempre ativado antes do Samba por exemplo.

O “S” (start) indica que o serviço será inicializado no boot. A partir daí, o sistema vai inicializando um por vez, começando com os serviços com número mais baixo. Caso dois estejam com o mesmo número, eles são executados em ordem alfabética.

Para que um determinado serviço pare de ser inicializado automaticamente no boot, basta deletar a entrada dentro da pasta, como em:

# rm -f /etc/rc5.d/S20samba

Para que o serviço volte a ser inicializado você deve criar novamente o link, apontando para o script na pasta /etc/init.d, como em:

# cd /etc/rc5.d/
# ln -s ../init.d/samba S20samba

ou:
# ln -s ../init.d/ssh S21ssh

Esta é a forma “correta” de criar os links: acessando primeiro a pasta onde eles são criados e criando os links com as localizações relativas. Se estamos na pasta “/etc/rc5.d” e criamos o link apontando para “../init.d/samba”, significa que o sistema vai subir um nível de diretório (vai para o /etc) e em seguida acessa a pasta “init.d/”.

Nada impede que você crie o link diretamente, como em:

# ln -s /etc/init.d/ssh /etc/rc5.d/S21ssh

Ele vai funcionar da mesma forma, mas ferramentas de configuração automática, como o “update-rc.d” (do Debian), vão reclamar do “erro” ao atualizar ou remover o link. Este é, na verdade, um daqueles casos em que precisamos contornar manualmente a falta de recursos da ferramenta.

Existe um utilitário de modo texto, do Debian, que facilita esta tarefa, o rcconf, que pode ser instalado via apt-get. Chamando-o com a opção “–now”, os serviços marcados são inicializados imediatamente, caso contrário ele apenas cria os links, de forma que eles fiquem ativos a partir do próximo boot.

No Fedora, Mandriva e outras distribuições derivadas do Red Hat, você pode ativar ou desativar a inicialização dos serviços no boot usando o comando “chkconfig“, como em:

# chkconfig ssh on
(ativa)
# chkconfig ssh off
(desativa)

Você pode também usar o utilitário “ntsysv” ou outro configurador disponível. O Mandriva, por exemplo, inclui um painel de administração de serviços dentro do Mandriva Control Center. Muitas distribuições incluem o “services-admin“, outro utilitário gráfico que faz parte do pacote “gnome-system-tools”.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X