Si algunos de nuestros foros, manuales, ALDOS, paquetería o proyectos te han resultado de ayuda, apreciaremos mucho nos apoyes con un donativo.

Configuración y uso del programa vacation.

Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Jabber ID: darkshram@jabber.org

Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

© 1999-2014 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector, hace mal uso de éstos.

Introducción.

Vacation es un pequeño pero útil programa que permite configurar cuentas de correo electrónico para que respondan automáticamente con un mensaje que indica que el usuario se encuentra de vacaciones.

Equipamiento lógico necesario.

Instalación a través de yum.

Si utiliza CentOS o Red Hat™ Enterprise Linux, primero configure el almacén YUM de Alcance Libre:

cd /etc/yum.repos.d/
wget -N http://www.alcancelibre.org/al/server/AL-Server.repo
cd -

Para instalar el paquete, ejecute:

yum -y install vacation

Vacation y SELinux.

SELinux impedirá que Sendmail pueda ejecutar el programa vacation. El siguiente procedimiento crea una política que permitirá a vacation operar normalmente.

Crear el directorio /usr/share/selinux/packages/vacation:

mkdir /usr/share/selinux/packages/vacation

Cambiarse al directorio /usr/share/selinux/packages/vacation:

cd /usr/share/selinux/packages/vacation

Descargar desde Alcance Libre el archivo http://www.alcancelibre.org/linux/secrets/vacation.te:

Editar el archivo vacation.te:

vi vacation.te

Verificar que el archivo vacation.te tenga el siguiente contenido:

module vacation 1.0;

require {
        type sendmail_t;
        type etc_runtime_t;
        class file { execute };
}

#============= sendmail_t ==============
allow sendmail_t etc_runtime_t:file execute;

Crear el archivo de módulo vacation.mod a partir del archivo vacation.te:

checkmodule -M -m -o vacation.mod vacation.te

Crear el archivo de política vacation.pp a partir del archivo vacation.mod

semodule_package -o vacation.pp -m vacation.mod

Incluir la política al sistema:

semodule -i /usr/share/selinux/packages/vacation/vacation.pp

Regrese al directorio de inicio de root.

cd

Procedimientos.

Primero ingrese al sistema como root.

A fin de que Sendmail permita utilizar el programa vacation, es necesario crear primero un enlace simbólico dentro el directorio /etc/smrsh y éste que apunte hacia /usr/bin/vacation. Ejecute lo siguiente:

ln -s /usr/bin/vacation /etc/smrsh/vacation

Es indispensable que el usuario a utilizar tenga acceso al intérprete de mandatos, de otro modo será imposible utilizar el programa vacation. Asigne al usuario /bin/bash como intérprete de mandatos o bien /bin/sh ejecutando lo siguiente:

usermod -s /bin/bash usuario

Cambie a la sesión del usuario:

su -l usuario

Utilice vi para crear el archivo ~/.vacation.msg:

vi ~/.vacation.msg

Pulse la tecla Insert.

Coloque dentro del archivo un contenido similar al siguiente, evitando utilizar tildes, la letra ñ y cualquier otro carácter distinto a los de las tabla ASCII:

Subject: Estoy de vacaciones.            
From: como se llame <usuario@mi-dominio.com.mx>
Reply-To: como se llame <usuario@mi-dominio.com.mx>
Buen dia, por el momento no me encuentro en la oficina, estoy de regreso el
proximo DD de MMMM de AAAA.

Reciba un cordial saludo.

Atentamente
Lic. como se llame

NOTA: Mensaje *intencionalmente* enviado sin acentos.

Pulse la tecla Esc, guarde cambios y salga de vi pulsando la combinación de teclas :wq y luego la tecla (ENTER).

Utilice vi para crear el archivo ~/.forward:

vi ~/.forward

Pulse la tecla Insert.

Añada el siguiente contenido, tomando en cuenta que la omisión de la barra invertida (\) al inicio hará que el programa vacation falle irremediablemente:

\usuario, "|/usr/bin/vacation usuario"

Pulse la tecla Esc, guarde cambios y salga de vi pulsando la combinación de teclas :wq y luego la tecla (ENTER).

Cambie los permisos del archivo para que solo permitan la lectura y escritura al usuario propietario de éste.

chmod 600 ~/.forward

Como usuario ejecute el siguiente mandato, a fin de iniciar el programa.

vacation -I

Salga de la sesión del usuario.

exit

A partir de este momento, todo el correo electrónico que se envié a la cuenta del usuario, será respondido automáticamente con un aviso que incluirá el texto definido en el archivo /home/usuario/.vacation.msg.

Para desactivar el programa, solo es necesario ingresar nuevamente al sistema como root y eliminar o renombrar el archivo /home/usuario/.forward.

mv /home/usuario/.forward /home/usuario/.forward.old

Y definir de nuevo /dev/null, /bin/false o /sbin/nologin como intérprete de mandatos para el usuario.

usermod -s /dev/null usuario

Si algunos de nuestros foros, manuales, ALDOS, paquetería o proyectos te han resultado de ayuda, apreciaremos mucho nos apoyes con un donativo.

Última Edición: 28/11/2014, 12:06|Hits: 15,562 Ver la versión para imprimir