Inicio wiki
Aula Virtual
 Administración de Sistemas Operativos
Inicio ASO Aula Virtual

Vistas
  •   3.5. Ejecuci贸n (qmail)
De ASO

Una vez configurado el servidor, el siguiente paso es su inicio. Para ello, dispone del comando svscan que, con la creaci贸n de los guiones apropiados, controla la ejecuci贸n de los distintos m贸dulos de qmail. El directorio /var/qmail/boot contiene ejemplos de ficheros de inicio para las diferentes opciones de configuraci贸n. Un ejemplo de gui贸n es el siguiente:

#!/bin/sh
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start "`cat /var/qmail/control/defaultdelivery`"

con el que se ejecutar谩 el m贸dulo qmail-start que admite como mecanismo de entrega de mensajes el indicado en el fichero /var/qmail/control/defaultdelivery. Para el inicio del sistema necesita crear los directorios /var/qmail/supervise/qmail-send/log y /var/qmail/supervise/qmail-smtpd/log con el bit stick activado:

mkdir 鈥損 /var/qmail/supervise/qmail-send/log
mkdir 鈥損 /var/qmail/supervise/qmail-smtpd/log
chmod +t /var/qmail/supervise/qmail-send
chmod +t /var/qmail/supervise/qmail-smtpd

Posteriormente, debe crear los scripts de inicializaci贸n:

  • /var/qmail/supervise/qmail-send/run cuyo contenido debe ser:
# !/bin/sh
exec /var/qmail/rc
  • /var/qmail/supervise/qmail-send/log/run con:
# !/bin/sh
exec /usr/bin/setuidgid qmaill /usr/bin/multilog t /var/log/qmail
  • /var/qmail/supervise/qmail-smtpd/run:
# !/bin/sh
QMAILDUID=`id 鈥搖 qmaild`
NOFILESGID=`id 鈥揼 qmaild`
exec /usr/bin/softlimit 鈥搈 2000000 \
    /usr/bin/tcpserver 鈥搗 鈥損 鈥搙 /etc/tcp.smtp.cdb 鈥搖 $QMAILDUID \
     -g $NOFILESGID 0 smtp /var/qmail/bin/qmail-smtpd 2>&1
  • /var/qmail/supervise/qmail-smtpd/log/run cuyo contenido debe ser:
# !/bin/sh
exec /usr/bin/setuidgid qmaill \
    /usr/bin/multilog t /var/log/qmail/smtpd

Los permisos necesarios para el correcto funcionamiento de estos scripts son los definidos por el octeto 755 (rwx r-x r-x) y con el usuario qmail de propietario. Adem谩s, debe crear los directorios mencionados en los guiones para el registro de eventos. Para la ejecuci贸n del servicio en el arranque del servidor, debe crear un gui贸n de inicio en el directorio /etc/init.d, al que se referenciar谩 mediante enlaces situados en los directorios de cada nivel de arranque en los que se desee iniciar o parar el servicio. Dicho gui贸n debe admitir, como argumentos de entrada, las opciones de start, stop y restart. Su contenido puede ser:

#!/bin/sh
export PATH=/var/qmail/bin:/usr/local/bin:/usr/bin:/bin
Inicio()
{
   cd /var/qmail/supervise
   env - PATH="$PATH" svscan &
   echo $! > /var/run/svscan.pid
}
Parada()
{
   [ -r /var/run/svscan.pid ] && kill `cat /var/run/svscan.pid`
   echo -n " qmail"
   svc -dx /var/qmail/supervise/*
   echo -n " logging"
   svc -dx /var/qmail/supervise/*/log
}
case "$1" in
 start)
   echo -n "Iniciando qmail: svscan"
   Inicio
   echo "."
   ;;
 stop)
   echo -n "Deteniendo qmail: svscan"
   Parada
   echo "."
   ;;
 restart)
   echo 鈥搉 鈥淩einiciando qmail: svsscan鈥
   Parada
   echo 鈥.鈥
   Inicio
   echo 鈥.鈥
   ;;
esac

Si no muestra ning煤n error de salida tras la ejecuci贸n del comando, puede consultar mediante el comando netstat 鈥揳 si el puerto est谩 abierto y a la espera de conexiones (indicando as铆, que se ha iniciado correctamente). Adem谩s, con comandos como ps y lsof se puede comprobar si el proceso est谩 activo (ps) y qu茅 descriptores de archivo est谩 usando.



Libro Recomendado

HACKERS. APRENDE A ATACAR Y A DEFENDERTE
Ver fichaVer ficha
Comprar libroComprar