Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Servidor FTP
FTP (File Transfer Protocol, Protocolo de Transferencia de Archivos) es un protocolo de
red que permite transferir archivos de forma rpida y sencilla entre ordenadores. Se
utiliza para compartir archivos y directorios, pudiendo establecer autentificacin de
usuarios (con nombre y contrasea) y permisos sobre los elementos compartidos.
Los servidores FTP se usan principalmente para tres cosas:
1. Subir las pginas web al hosting.
2. Como servidor de archivos de libre acceso (denominado FTP annimo). Los FTP
annimos son servidores FTP a los que puede conectarse cualquiera empleando
como usuario anonymous y como password cualquier direccin de correo (servir
cualquier secuencia de caracteres que incluya "@").
3. Hacer backup (copia de seguridad).
Este protocolo se implementa con arquitectura cliente-servidor, por lo que necesita:
Un servidor FTP que se est ejecutando en la mquina remota, y que por defecto,
estar escuchando en los puertos 20 y 21 TCP (el puerto 20 se utiliza para la
transmisin de datos y el puerto 21 para los comandos de control).
Servidor FTP
El servidor FTP que usar ser ProFTPd, debe ser uno de los mejores servidores ftp
que existen para Linux (tambin se lo puede utilizar en otros sistemas operativos). Es
seguro, sumamente flexible, modular y fcil de configurar. Entre todas las
caractersticas que tiene, las ms rescatables son:
Servidor FTP
Para este tutorial, seleccionar la opcin Independiente.
4- Para verificar que nuestro servidor ftp est instalado, utilizaremos el comando
service status-all
Tenemos que tener en cuenta los siguientes ficheros que son cruciales para la
configuracin del ProFTPd:
/etc/init.d/proftd : fichero que inicia el servidor ftp.
/usr/bin/proftpd : archivo ejecutable.
/etc/proftpd.conf : Es el fichero de configuracin del servidor.
/etc/ftpusers : fichero que contiene una lista de usuarios que no se podrn conectar al
servidor.
Servidor FTP
6- Configuraremos el servidor ftp, para que slo un usuario especifico puede acceder a
los archivos compartidos en el ftp. Para esto debes ubicar la lnea que dice
DefaultRoot e indicar el directorio ftp que se crea automticamente instalas el
ProFTPd en este caso /home/ftp.
Servidor FTP
Para habilitar que se muestre ese mensaje, descomenta (quitar el smbolo #) de las
lneas: DisplayLogin y DisplayChdir.
8- Para designar que usuario tendr el acceso al servidor, debes ubicar la lnea que
dice: # Set the user and group that the server normally runs at. Especifica el
usuario que desees, y que ya est creado en el sistema operativo.
Por ltimo, guarda los cambios presionando CTRL + O y cierra la ventana presionando
CTRL + X.
9- Para que los cambios tengan efecto, debemos de reiniciar el servicio ProFTPd,
escribiendo /etc/init.d/proftpd restart
10- Verifica que el directorio ftp, se encuentra en /home. Entonces, escribe cd .. para
dirigirte a home y luego ls.
Servidor FTP
11- Hay que modificar los permisos del directorio ftp, para que sea permitido subir y
descargar archivos. Para eso emplear el comando chmod 777 ftp. Luego escribe
ls l para comprobar que los permisos se le han otorgado.
12- Para especificar que el nombre que le pusimos al servidor ftp este vinculado con la
direccin IP del servidor, hay que modificar el fichero /etc/hosts. Para eso escribe
nano /etc/hosts.
Servidor FTP
Usuario ftp
Mensaje de bienvenida.
2- Escribe help para visualizar todos los comando que puedes utilizar dentro del modo
ftp>
Servidor FTP
Descargar
1- Para realizar una descarga, se utiliza el comando get seguido del nombre del
archivo. En mi directorio ftp esta un archivo llamado PruebaFTP.docx y es el que
utilizar para la demostracin.
Servidor FTP
Renombrar archivos.
Para cambiarle el nombre a un archivo que hayas descargado, solo tienes que emplear
el comando rename [nombre anterior] [nombre nuevo].
Ya en el prompt local, escribe dir para comprobar que estn tus descargas.
Servidor FTP
Instalacin de gFTP
Para instalarlo, solo tienes que estar conectado a internet y escribir en la terminal
apt-get install gftp. Vers que se iniciar a descargar los paquetes, solo tendrs que
esperar a que concluya todo y listo.
Servidor FTP
Subir archivos.
1- Tenemos que abrir el cliente ftp, para eso haz click en Aplicaciones Internet
gFTP.
Servidor FTP
3- Observa que del lado derecho aparecen los archivos ubicados en el servidor desde
ah puedes observar los archivos para descargar.
Directorio
remoto.
Directorio
local.
4- Para subir uno o ms archivos, solo tienes que dirigirte al directorio en donde estn,
seleccionarlo y hacer click en el botn
Se transfiere el archivo, y podrs verlo en el rea del directorio remoto.
Servidor FTP
5- En esta imagen puedes observar la subida de varios archivos al mismo tiempo, solo
tiene que seleccionarlos y hacer click en el botn.
Descargar archivos
1- Para descargar archivos por medio del cliente gFTP, solo tiene que seleccionar
el archivo y hacer click en el botn .
Observa en la imagen, como del lado del directorio local, estn seleccionados los
archivos (calculadora.sh, Compartir, usuarios.sh). Luego de haber hecho click en el
botn de descarga, aparecen del lado del directorio remoto.
Servidor FTP
Si haces una descarga de un o unos archivo/s que pensen ms de 2 MB, podrs ver el
progreso de la transferencia y lo que va sucediendo por medio de lneas de comandos.
Servidor FTP
echo "**--**--**--**--**--**--**--**--**--**--**--**--**--**--**--**--**--*"
Mensaje de bienvenida para que el usuario sepa que script se est ejecutando.
echo ""
Para separar el mensaje de bienvenida, del mensaje que sigue.
echo "El backup de la carpeta Documentos, acaba de iniciar!!!"
Indica basado en que carpeta se crear el backup.
var1=/home/rocio/
Esta variable guarda la ubicacin del directorio Documentos, del cul se crear el script.
cd $var1
El comando cd se emplea para cambiar de directorio, y en este caso se dirigir a la ruta
ubicacin que guarda var1.
var2=Documentos
Esta variable guarda la palabra Documentos para ser utilizada en otra lnea ms abajo.
echo "La carpeta de destino es backup_ftp ubicada en el Escritorio"
Le muestra al usuario en donde se guardar el backup una vez haya finalizado el script
FECHA=`date +%Y-%m-%d`
La variable FECHA mantiene almacenada el da, mes y ao, del momento que se
ejecuto el archivo .sh. Este almacenamiento no es permanente.
echo "Comprimiendo los datos...."
sleep 2
Agrega una demora de 2 segundos para que se procese la otra lnea.
Servidor FTP
2- Ahora tenemos que crear la carpeta que enunciamos en el contenido del script
backup_ftp. Ubcate en el directorio Escritorio y escribe mkdir backup_ftp.
Debes darle permisos a la carpeta para que permita leer y escribir, por lo cul debes
escribir chmod 755 backup_ftp
Estos son permisos POSIX (Portable Operating System Interface UniX), Sistema de
permisos estndar en sistemas Unix. Divide los permisos de cada fichero en tres
niveles, dueo, grupo y resto, aplicndole a cada usuario el nivel correspondiente. Para
cada nivel existen 3 tipos de permiso, lectura, escritura y ejecucion.
Servidor FTP
Servidor FTP
2- Una vez se abra la ventana lo primero que debes escribir es #! /bin/bash indicando
bajo que Shell se ejecutarn los comandos.
Servidor FTP
Servidor FTP
3- Una vez hayas escrito el contenido del script, y hayas verificado que corresponde a
tus datos. Gurdalo y cierra la ventana. Tendrs un archivo similar a este:
Servidor FTP
Servidor FTP
Servidor FTP
Servidor FTP
Yo he especificado que se ejecute a las 1:00 p.m, los viernes de cada semana. De esta forma,
para programar la tarea de subir el backup todos los viernes a las 1:00, la lnea a aadir en el
archivo abierto por nano con las tareas de cron asociadas al usuario, deber ser la siguiente:
0 0 * * 5 sh /home/rocio/Escritorio/subirbackup.sh
El smbolo asterisco ( * ) significa que abarcar todos los das, horas, etc., segn el campo que
se especifique.
Para el otro archivo, he especificado que se ejecute a las 2:00 p.m todos los sbados.
0 0 * * 6 sh /home/rocio/Escritorio/bajarbackup.sh
Para guardar presiona CTRL + O y cierra la ventana presionando CTRL + X
Para visualizar el contenido de crontab, escribe crontab l para listar los archivos
programados.