airtime-es-1-9

Importación automática de archivos 

El código airtime-importpuede combinarse con el programa  SFTP (FTP seguro) y el daemon  cron en un servidor GNU/Linuxpara habilitar la importación automática de archivos desde múltiples equipos remotos. Esto ahorra tiempo para tu equipo de estación en el momento en que empiezan sus procesos de producción distributiva o sindicación de contenido.

Los servidores de FTP tradicional usan contraseñas de texto sencillo (sin encriptar) y por eso no son recomendables para las cuentas de carga en los servidores de Airtime con acceso al Internet público. SFTP es un protocolo de plataforma cruzada que trabaja con muchos programas de escritorio, incluyendo gFTP para GNU/Linux (http://www.gftp.org/). Este programa puede instalarse en una computadora de escritorio Debian o Ubuntu con el comando:

 $ sudo apt-get install gftp

Otros clientes populares para SFTP son FileZilla para Windows (http://filezilla-project.org/) y Cyberduck para Mac y Windows (http://cyberduck.ch/).

Para activar cargas en SFTP, debes invocar el comando adduser para crear una cuenta de cargas en el servidor. Por razones de seguridad, esta cuenta de usuario únicamente tiene acceso con SFTP. No puede usarse para ejecutar otros comandos en el sistema.

$ sudo adduser --home /srv/airtime/uploads --shell /usr/lib/sftp-server uploads

El servidor entonces te pedirá que ingreses la contraseña para el nuevo usuario de cargas de archivos, y que lo confirmes. La seguridad de tu servidor de Airtime depende de la fuerza de la contraseña que elijas, así que hazla larga y compleja, con mayúsculas, minúsculas y caracteres numéricos. No es necesario fijar un nombre y detalles adicionales para esta cuenta:  

Adding user `uploads' ...
Adding new group `uploads' (1003) ...
Adding new user `uploads' (1002) with group `uploads' ...
Creating home directory `/srv/airtime/uploads' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for uploads
Enter the new value, or press ENTER for the default
    Full Name []:
    Room Number []:
    Work Phone []:
    Home Phone []:
    Other []:
Is the information correct? [Y/n] Y

 Luego, crea un folder para recibir los archivos de entrada:

 $ sudo mkdir /srv/airtime/uploads/incoming/

Crea un código que se ejecute una vez cada hora:

 $ sudo nano /etc/cron.hourly/airtime-upload

El código debe importar los archivos recién cargados de la carpeta de entrada, usando la opción copiar y luego debe eliminar los archivos cargados originalmente. Este paso, más que el simple uso de la opción observar en la carpeta /srv/airtime/uploads/incoming/, asegura que la cuenta de carga SFTP no tenga acceso de autoría al sistema de almacenamiento de Airtime. Esto representaría un riesgo de seguridad si la contraseña estuviese comprometida.     

#!/bin/sh

# Run the import script on fresh uploads

airtime-import copy /srv/airtime/uploads/incoming/

# Clean the incoming directory to save disk space

rm -r /srv/airtime/uploads/incoming/*.mp3
rm -r /srv/airtime/uploads/incoming/*.ogg

Finalmente, el código debe volverse ejecutable para que el daemon cron pueda operarlo.

$ sudo chmod +x /etc/cron.hourly/airtime-upload

De forma predeterminada, Debian y Ubuntu GNU/Linux ejecutan las tareas de cron.hourly unos 17 minutos después de la hora. Este valor puede ajustarse en el archivo /etc/crontab si es necesario.

Los usuarios remotos deben conectarse al servidor de Airtime con su software clente de preferencia, asegurándose de que especifican un SFTP en lugar de la conexión SFTP. El directorio remoto que los clientes usan puede ser /srv/airtime/uploads/incoming/ como se muestra anteriormente.


Para incrementar la seguridad, puedes configurar tu servidor de Airtime para usar un par de claves encriptadas en la cuenta de cargas, en lugar de una sola contraseña. Revisa https://help.ubuntu.com/community/SSH/OpenSSH/Keys para obtener detalles de cómo hacer esto en un servidor de Ubuntu.