2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... ·...

24
Nombre: Yonaira Castillo Soriano Matricula: 2011-3770 Asignatura: Sistemas Operativos III Instructor: José Doñe Tema: instalación de ftp

Transcript of 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... ·...

Page 1: 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... · sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar.

Nombre: Yonaira Castillo Soriano

Matricula: 2011-3770

Asignatura: Sistemas Operativos III

Instructor: José Doñe

Tema: instalación de ftp

Page 2: 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... · sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar.

FTP (File Transfer Protocol, Protocolo de Transferencia de Archivos) es un protocolo de red que permite transferir archivos de forma rápida y sencilla entre

ordenadores. Se utiliza para compartir archivos y directorios, pudiendo

establecer autentificación de usuarios (con nombre y contraseña) y permisos sobre los elementos compartidos. Los servidores FTP se usan principalmente para tres cosas:

1. Subir las páginas web al hosting.

2. Como servidor de archivos de libre acceso (denominado FTP anónimo). Los FTP anónimos son servidores FTP a los que puede conectarse cualquiera empleando como usuario anonymous y como password cualquier dirección 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 máquina remota, y que por defecto, estará escuchando en los puertos 20 y 21 TCP (el puerto 20 se utiliza para la transmisión de datos y el puerto 21 para los comandos de control).

un cliente FTP para conectarnos al servidor.

Instalación del servidor FTP

Page 3: 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... · sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar.

Para iniciar con la instalación del servidor FTP, tenemos que abrir la terminal root, haciendo click en Aplicaciones – Accesorios – Terminal root.

El servidor FTP que usaré será ProFTPd, debe ser uno de los mejores servidores ftp que existen para Linux (también se lo puede utilizar en otros sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar. Entre todas las características que tiene, las más rescatables son:

Permite autenticar usuarios con casi cualquier cosa.

Se pueden utilizar servidores virtuales de ftp.

Se pueden tener múltiples servidores brindando servicio de ftp anónimo. Es modular (lo que permite extender su funcionalidad ampliamente), un usuario con acceso por ftp únicamente no requiere de una configuración especial, y su código es libre (esta licenciando bajo GLP). Para poder instalarlo debes escribir en la terminal apt-get install proftpd y presionar Enter.

Page 4: 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... · sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar.

A principio de la instalación, verás aparecer una pantalla azul (esto es en mi caso), en la cual tendrás que elegir el modo en que se ejecutará ProFTPd, ya sea de inetd o independiente. A la hora de seleccionar, ten presente la cantidad de tráfico que tendrá tu servidor de archivos (FTP). Para este tutorial, seleccionaré la opción “Independiente”.

Tenemos que tener en cuenta los siguientes ficheros que son cruciales para la configuración del ProFTPd: /etc/init.d/proftd : fichero que inicia el servidor ftp. /usr/bin/proftpd : archivo ejecutable. /etc/proftpd.conf : Es el fichero de configuración del servidor. /etc/ftpusers : fichero que contiene una lista de usuarios que no se podrán conectar al servidor.

Ahora, configuraremos el servidor ftp modificando el archivo proftpd.conf.

Escribe en la terminal nano /etc/proftpd/proftpd.conf.En la primera parte,

desactiva el soporte la IPv6 (actualmente no se está empleando esa versión

del protocolo IP) y cambia ServerName (nombre del servidor).

Page 5: 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... · sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar.

Configuraremos el servidor ftp, para que sólo un usuario especifico puede acceder a los archivos compartidos en el ftp. Para esto debes ubicar la línea que dice DefaultRoot e indicar el directorio ftp que se crea automáticamente instalas el

ProFTPd en este caso /home/ftp.

Page 6: 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... · sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar.

Dentro del directorio /home/ftp, esta un archivo Welcome.msg que contiene el mensaje de bienvenida para cuando el usuario se auténtique.

Para habilitar que se muestre ese mensaje, descomenta (quitar el símbolo #) de las líneas: DisplayLogin y DisplayChdir.

Para designar que usuario tendrá el acceso al servidor, debes ubicar la línea 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.

Page 7: 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... · sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar.

Para que los cambios tengan efecto, debemos de reiniciar el servicio ProFTPd, escribiendo /etc/init.d/proftpd restart

Verifica que el directorio ftp, se encuentra en /home. Entonces, escribe cd .. para dirigirte a home y luego ls.

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

Page 8: 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... · sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar.

ls –l para comprobar que los permisos se le han otorgado.

Para especificar que el nombre que le pusimos al servidor ftp este vinculado con

la dirección IP del servidor, hay que modificar el fichero /etc/hosts. Para eso

escribe nano /etc/hosts

Vuelve y reinicia el servidor ftp, escribiendo /etc/init.d/proftpd restart.

Page 9: 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... · sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar.

Subir y bajar archivos por líneas de comandos

SUBIR En primer lugar, debemos ingresar al servidor, escribiendo ftp [nombre del servidor] ó [dirección IP] Recuerda que para ingresar deberás introducir el nombre de usuario que especificaste en el archivo /etc/proftpd/proftpd.conf, junto a su contraseña.

Escribe help para visualizar todos los comando que puedes utilizar dentro del modo ftp>

Page 10: 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... · sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar.

Para subir archivo, utilizaremos el comando put + el nombre del archivo. No se te puede olvidar especificar la extensión si posee. Entonces, como pudieron ver más arriba estoy en la carpeta Escritorio, ahí está el archivo que subiré llamado Holapruebaftp.jpg. Put Holapruebaftp.jpg

Para subir más de un archivo al mismo tiempo, puedes emplear el comando mput seguido de los nombre de los archivos con su extensión.

Page 11: 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... · sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar.

DESCARGAR Para realizar una descarga, se utiliza el comando get seguido del nombre del archivo. En mi directorio ftp esta un archivo llamado PruebaFTP.doc y es el que utilizaré para la demostración.

Si deseas descargar varios archivos al mismo tiempo, puedes usar el comando

mget seguido de los nombres de los archivos a descargar

Page 12: 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... · sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar.

Si te preguntas en que parte de tu sistema operativo se encuentran los archivos y/o documentos que descargaste, un comando útil es lcd que te muestra la ruta del directorio local.

Renombrar archivos. Para cambiarle el nombre a un archivo que hayas descargado, solo tienes que emplear el comando rename [nombre anterior] [nombre nuevo].

Salir del modo ftp> Para salir del modo ftp>, puedes hacer uso de varios comandos entre ellos: bye, quit y disconnect

Ya en el prompt local, escribe dir para comprobar que están tus descargas.

Script para subir un backup al servidor ftp

Page 13: 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... · sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar.

Crear backup

Primero, crearemos el script que creará el backup ó copia de seguridad. Para eso escribe gedit [nombre del archivo].sh

Detalles del script #!/bin/bash Indica bajo que shell se ejecutará este script. Recuerda el Shell es un programa – interface, que se provee como un elemento comunicacional entre el usuario y el sistema operativo. Tiene como función aceptar los comandos escritos y ejecutarlos. echo echo Se acaba de iniciar un script para crear un backup Mensaje de bienvenida para que el usuario sepa que script se está ejecutando. echo "" Para separar el mensaje de bienvenida, del mensaje que sigue.

Page 14: 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... · sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar.

echo "El backup de la carpeta Documentos, acaba de iniciar!!!" Indica basado en que carpeta se creará el backup. var1=/home/yonaira/ Esta variable guarda la ubicación del directorio Documentos, del cuál se creará el script. cd $var1 El comando cd se emplea para cambiar de directorio, y en este caso se dirigirá a la ruta ó ubicación que guarda var1. var2=Documentos Esta variable guarda la palabra Documentos para ser utilizada en otra línea más 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 día, mes y año, 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 línea. tar -cvzf $var2$FECHA.tar.gz /$var1/$var2 La línea tar –cvzf $var2$FECHA.tar.gz $/var1/$var2 es la que se encarga de comprimir el directorio indicado en var2 que se encuentra en la ruta indicada en var1. Entonces, en un lenguaje simple esta línea dice: “Créame un nuevo archivo, muéstrame todo lo que sucede, comprímelo y empaquétalo. El nombre con el cual se creará el nuevo archivo está indicado en $var2$FECHA que indica que será el mismo nombre del archivo original pero agregándole la fecha. Esto te ayuda a tener un orden entre las diversas copias que puedes tener.

mv /home/rocio/*.tar.gz /home/rocio/Escritorio/backup_ftp

Page 15: 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... · sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar.

indica que se mueva todos los archivo que tengan por extensión .tar.gz al directorio Escritorio a la carpeta backup_ftp. echo "" echo "El backup ha sido realizado satisfactoriamente" Mensaje que indica que ha finalizado y que todo ha salido bien. Cuando hayas creado el archivo.sh verás este icono, que te permitirá identificarlo de entre los otros.

Ahora tenemos que crear la carpeta que enunciamos en el contenido del script

“backup_ftp”. Ubícate en el directorio Escritorio y escribe mkdir backup_ftp. Debes darle permisos a la carpeta para que permita leer y escribir, por lo cuál debes escribir chmod 755 backup_ftp

Estos son permisos POSIX (Portable Operating System Interface UniX), Sistema de permisos estándar en sistemas Unix. Divide los permisos de cada fichero en tres niveles, dueño, grupo y resto, aplicándole a cada usuario el nivel correspondiente. Para cada nivel existen 3 tipos de permiso, lectura, escritura y ejecucion.

Page 16: 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... · sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar.

Vamos a probar el script. Escribe sh backup_ftp.sh y presiona Enter.

Fíjate que se ha producido ningún error durante su ejecución, por lo tanto el script es funcional. Dirígete a la carpeta backup_ftp, y revisa que este el paquete .tar.gz

Page 17: 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... · sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar.

Script para subir el backup

Para crear el archivo .sh (script), tienes que escribir gedit subirbackup.sh. Una vez se abra la ventana lo primero que debes escribir es #! /bin/bash indicando bajo que Shell se ejecutarán los comandos.

Detalles del script #!/bin/bash echo "Conectando y autenticando con el servidor de FTP"

Page 18: 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... · sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar.

Mensaje que da inicio e indica que lo primero que se hará es conectarse y autenticarse en el servidro FTP. echo "" Para separar el mensaje de autenticación, del mensaje que sigue. FECHA=`date +%Y-%m-%d` La variable FECHA mantiene almacenada el día, mes y año, del momento que se ejecuto el archivo .sh. Este almacenamiento no es permanente. HOST=192.168.1.2 La variable HOST, almacena la dirección IP del servidor ftp, también puedes escribir aquí el nombre en caso de que lo tengas especificado. USER=gregorio Esta variable USER almacena el nombre del usuario que puede entrar al ftp. Recuerda que en la parte de la configuración del ProFTPd lo especificamos. PASSWD=contraseña La variable PASSWD tiene almacenado la contraseña del usuario, la misma que introduces cuando accedes al ftp por la terminal. cd /home/gregorio/Escritorio/backup_ftp El comando cd te permite cambiar de directorio, entonces aquí debes especificar la ruta en la cuál se encuentra el backup que subirás. echo "Enviando backup de la carpeta Documentos" Este es un mensaje para orientar en que parte está el proceso. A partir de aquí todos los comandos empleados será dentro del modo ftp> ftp -n $HOST << END_SCRIPT Aquí se enuncia el comando ftp –n que permite iniciar la conexión con el nombre ó valor guardado en la variable HOST. El símbolo $ es para que ejecute la información almacenada en esa variable.

quote USER $USER Quote= envía comando ftp arbitrario. Aquí se pide que se ejecute la información que almacena la variable USER, que en este caso es el nombre del usuario ftp. quote PASS $PASSWD Aquí se pide que se ejecute la información que almacena la variable PASSWD, que en este caso es la contraseña del usuario ftp binary Para configurar y transferir archivos tipo binario. put Documentos$FECHA.tar.gz El comando put, permite subir archivo. En este caso, será el archivo ubicado en la carpeta /home/YONAIRA/Escritorio/backup_ftp llamado Documentos + la fecha.tar.gz sleep 3

Page 19: 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... · sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar.

Agrega una demora de 2 segundos para que se procese la otra línea. quit Comando que me permite salir del modo ftp> END_SCRIPT Finaliza el script dentro del ftp. echo "Archivo enviado correctamente"

Una vez hayas escrito el contenido del script, y hayas verificado que corresponde a tus datos. Guárdalo y cierra la ventana. Tendrás un archivo similar a este:

Vamos a probar el script. Escribe sh subirbackup.sh y presiona Enter

FTP DESDE EL CLIENTE

Ahora nos dirigimos hacia el cliente vamos a ejecutar, cmd le damos un ping

hacia la dirección de nuestro servidor en mi caso será ping 192.168.1.2.

Page 20: 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... · sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar.

Luego hacemos comunicación con nuestro servir ftp introducimos ftp +(la ip del

servidor ftp)

En mi caso será ftp 192.168.1.2

Este nos pedirá que nos autentiquemos con el nombre y password del usuario

que especificamos en nuestro archivo de configuración en mi caso será.

Usuario: yonaira

Contraseña: password

Ahora le damos un ls para ver nuestros archivos y documentos.

Page 21: 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... · sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar.

Y si deseamos descargar algunos de esos archivo introducimos el comando

gedit + (el nombre del archivo) y listo.

Page 22: 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... · sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar.

Para acceder al servidor ftp lo haremos con la misma dirección ip que utilizamos para el servidor web: 192.168.1.2. Entonces, en el mismo explorador escribe ftp://192.168.1.2 Automáticamente verás aparecer un recuadro para autenticarte.

Page 23: 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... · sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar.

Y listo, podrás subir y descargar archivos desde y hacia el servidor ftp. Por medio.

Page 24: 2011-3770 Sistemas Operativos III José Doñedebianconection.weebly.com/uploads/2/0/1/8/... · sistemas operativos). Es seguro, sumamente flexible, modular y fácil de configurar.

FIN!!!!!