Serviços - iniciando / parando e reiniciando
Serviços - iniciando / parando e reiniciando
Devido ao grande numero de distribuições Gnu/Linux/Outros um administrador pode ficar perdido ao trabalhar com serviços. O simples ato de iniciar um script de Firewall ou o Apache pode parecer uma busca a arca perdida. Para tal reunir um pequeno guia das principais distribuições usadas em servidores.
Definindo Serviços
Serviços são funcionalidades de software-based, ou softwares de base, fornecidas a uma rede de computadores uma vez alocados e inicializados em um servidor. Geralmente são processos ou funções requisitadas por uma maquina chamada cliente ao servidor
Por exemplo, se queremos que todas as maquinas de uma rede possam salvar seus arquivos em um lugar central, facilitando a troca destes arquivos e as rotinas de backup, devemos montar um Servidor de Arquivos. Este servidor possuirá um software responsável em “organizar” o compartilhamento de locais para os usuários salvarem (guardarem) os seus arquivos.
Este software, no caso do Linux, poderia ser o samba, sendo este capaz de facilitar trocas numa rede com maquinas Linux e Windows. Dizemos que o Servidor de Arquivos estará em pleno funcionamento quando o software samba for devidamente configurado e o SERVIÇO samba estiver funcionando (ou, estiver inicializado).
Nem sempre o serviço tem o mesmo nome do programa.
Scripts
Também podemos criar um script para realizar um determinado “serviço” em nosso servidor. Como por exemplo um script de firewall ou compartilhamento de internet que contenha algumas regras tais como:
#!/bin/bash # Habilita o encaminhamento echo "1" > /proc/sys/net/ipv4/ip_forward # Limpando as tabelas iptables -F iptables -t nat -F iptables -t mangle -F # Mascarando conexões da rede iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Este script deve ser salvo e conseqüentemente “transformado” em executável pelo comando #chmod +x nomedoscript.
Contudo ele ainda não é capaz de receber os comandos start/stop/restart (iniciar/parar/reiniciar), para tal devemos colocar no script estas opções:
case "$1" in "start") init_serviço ;; "stop") stop_serviço ;; "status") status_serviço ;; *)
Pronto agora você já sabe um pouco mais sobre um serviço e sobre scripts, podemos analisar sua implementação numa distribuição Gnu/Linux:
SLACKWARE
Distribuição famosa por ter que ser configurada na unha é a preferida de muitas pessoas ao criar um firewall. Podemos criar um script para ser executado na inicialização do sistema, evitando que tenhamos que digitar os mesmos comandos ou executar o script toda vez que reiniciar a máquina.
Para isto. copie ou salve o arquivo como /etc/rc.d/rc.nomedoscriptdeserviço
Para parar / iniciar e reiniciar digite o comando: /etc/rc.d/rc.nomedoscriptouserviço stop|start|restart
O mesmo vale para outro serviço: /etc/rc.d/rc.serviço stop|start|restart
Ex:
/etc/rc.d/rc.samba stop|start|restart
Se quiser parar o serviço até para o próximo boot e seus subsequentes use: chmod -x /etc/rc.d/rc.nomedoscriptouserviço
DEBIAN / UBUNTU SERVER
O Debian é uma distribuição conhecida pela estabilidade, com um primoroso e rígido desenvolvimento, possibilitando uma gerencia de instalação e remoção de pacotes famosa, o apt. O Ubuntu é herdeiro desta distro, trazendo algumas inovações na instalação da distribuição e aplicativos.
Após criar o script coloque-o no diretorio /etc/init.d/
Não se esqueça que o script deve ser um executavel.
Para parar / iniciar e reiniciar o script ou um serviço execute /etc/init.d/nomedoscriptouserviço stop|start|restart
Para que o script seja iniciado no boot do sistema, devemos criar um link para o rc desejado:
#cd /etc/rc2.d
#ln -s /etc/init.d/nomedoscriptouserviço /etc/rc2.d/S99nomedoscriptouserviço
Lembrando que o rc(numero).d corresponde ao runlevel do sistema (se você não sabe, é bom dá uma procurado sobre o assunto, em suma o sistema possui diversos níveis de inicialização, executando os aplicativos corresponde aquele nível, desde que possuam o Snumero na frente do nome do script, neste exemplo, o nosso script será executado no nível 2 an posição 99).
Temos ainda o comando “update-rc.d”, que permite definir se um serviço vai ser ativado ou não durante o boot.
Ex:
Para desativar a inicialização automática do proftpd, você usaria o comando:
# update-rc.d -f proftpd remove
Se mudar de idéia e quiser que ele volte a ser inicializado durante o boot, use:
# update rc.d -f proftpd defaults
FEDORA
Fedora é a versão livre do Red Hat com algumas novidades ainda em teste. Desta forma, a gerencia em um será semelhante ao outro. O Red Hat é uma famosa distribuição hoje voltada ao mercado corporativo.
Verifique se o serviço está rodando: service nomedoserviço status
Iniciando / Parando / Reiniciando um serviço: service nomedoserviço stop|start|restart
Para ter o serviço iniciado automaticamente no boot:
1. Abra o programa ntsysv: ntsysv
2. Ache o seu serviço na lista e pressione espaço para habilitar. Os serviços que estiverem marcados com um * serão automaticamente iniciados no boot.
O local onde os scrpts devem ser salvos é o: /etc/rc.d/init.d/
MANDRIVA
O mandriva se comporta de maneira semelhante ao Fedora apresentando algumas facilidades com relação as suas ferramentas gráficas. A distribuição Mandriva tem um certo saudosismo por ter surgido da fusão do Mandrake com a Conectiva, primeira grande distribuição Gnu/Linux com foco em empresas.
Logs de Serviço
Caso algum serviço apresente problemas, não esteja rodando por exemplo, é possível visualizar os logs da inicialização do Linux pelo comando “dmesg” e também pelo arquivo de logs “/var/log/messages” através do comando:
# tail -f /var/log/messages
Rapidinha sobre os Níveis de execução:
Nível 0: Este nível de execução é utilizado para desligar o sistema.
Nível 1: Este nível é o modo de manutenção ou resgate, oferecendo um sistema básico, sem rede, servidor X, nem acesso multi-usuário.
Nível 2: Este nível de execução é idêntico ao próximo(nível 3), a diferença é que não há nenhum serviço de conexão à rede.
Nível 3: Neste nível, um dos mais importantes(senão o mais importante), o Fedora é inicializado em modo texto, com conexão à rede e capacidade multi-usuário.
Nível 4: Este nível de execução é indefinido, mas pode ser usado para inicializar o sistema em um estado personalizado.
Nível 5: Este nível de execução é o ideal para computadores usados como Desktop, pois oferece além de conexão à rede e capacidade multi-usuário, um ambiente gráfico.
FONTE:
http://forum.slackbr.org/forum/viewtopic.php?f=19&t=13520&start=0&st=0&sk=t&sd=a
http://www.debianfordummies.org/wiki/index.php/Compartilhando_Internet_no_linux
http://www.devin.com.br/eitch/fedorafaq/basics/#services
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=7801&pagina=4
março 25th, 2008 at 8:00 am
Parabéns, excelente artigo. E ajuda bastante que não entende direito sobre serviços.