Red t4 practica_ftp2

915 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
915
On SlideShare
0
From Embeds
0
Number of Embeds
23
Actions
Shares
0
Downloads
22
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Red t4 practica_ftp2

  1. 1. FTP yMysql -Ubuntu2º ASIR – Redes –Trimestre 1Débora García García
  2. 2. REDES TRIMESTRE 1 Débora García GarcíaÍndiceIntroducción ............................................................................................................................. 2Instalaciones previas ................................................................................................................. 2Creación de la base de datos ..................................................................................................... 3Configuración del servidor proFTPd .......................................................................................... 5Creación de usuarios virtuales................................................................................................... 7Acceso remoto usando un cliente FTP ..................................................................................... 10 1
  3. 3. REDES TRIMESTRE 1 Débora García GarcíaIntroducciónConfigura tu servidor FTP para que se pueda acceder al mismo a través de usuariosalmacenados en una base de datos MySql.Instalaciones previasInstala primero MYSQL: - Apt-get install mysql-serverUtilizaremos usuarios virtuales, pero proFTPd utiliza los usuarios del sistema.Cambia la contraseña del root: - Mysqladmind –u root pasword xxxxInstalar proFTPd: - Apt-get install proftpdUtilizando inetd el equipo iniciará un proceso nuevo por cada petición ftp que llegue al equipo,mientras que ejecutándose en forma independiente, el proceso ya está inicializado por lo queno hay necesidadEjecutar un nuevo programa (simplemente se clona el proceso, generando una nueva instanciadel mismo para atender al cliente ftp que inicio el requerimiento). 2
  4. 4. REDES TRIMESTRE 1 Débora García GarcíaCreación de la base de datosProFTPD, de forma normal, valida sobre el /etc/passwd y /etc/shadow, por tanto necesita unatabla que simule los datos contenidos en estos ficheros.También utiliza el /etc/group, por lo que necesitamos otra tabla del mismo modo:Nos iniciamos en la base de datos: - Mysql –u root –pCreamos la nueva base de datos:Creamos a un usuario que acceda a esa base de datos que no sea root:Salimos de mysql y nos metemos con el usuario creado - Mysql –u proftpd –pCrea la tabla de usuario: 3
  5. 5. REDES TRIMESTRE 1 Débora García GarcíaCrea la tabla de grupo:Vemos las tablas creadas:Vemos su estructura: 4
  6. 6. REDES TRIMESTRE 1 Débora García GarcíaConfiguración del servidor proFTPdLa configuración del servidor proFTPd está en el fichero /etc/proftpd.conf, la sintaxis queutiliza es parecida a la utilizada en apache.Las directivas que vamos a introducir en el fichero de configuración son las siguientes:  AuthPAM off: Para deshabilitar la autentificación PAM, es decir para que no autentifique a los usuarios reales.  RequireValidShell off: Requiere una Shell válida para iniciar sección. Las Shell válidas son las que están en /etc/shells.  DefaultRoot ˜: Para que cuando un usuario entra en el servidor ftp, no pueda salir de su home a directorios superiores.Y por último nos queda las directivas de configuración para que proFTPd autentifique losusuarios virtuales cuya información vamos a guardar en las tablas de nuestra base de datos.Antes de ver las directivas vamos a explicar cada una de ellas:  SQLBackend: Con esta directiva indicamos el servidor de base de datos que vamos a utilizar. En nuestro caso mysql.  SQLAuthTypes: En tipos de identificación tenemos (entre otras) PlainText (texto plano), Crypt (como en el /etc/shadow) o Backend (utiliza el sistema propio de la base de datos). Aquí depende de con que vayamos a cifrar las contraseñas en la base de datos. Si lo haces con CRYPT () usa Crypt, si usas PASSWORD () usa Backend.  SQLAuthenticate: Con esta directiva decimos quien tiene que identificarse en MySQL. Podemos seleccionar grupos o usuarios, yo me limito a decir que todos: on.  SQLConnectInfo: Se indica los datos de la conexión a la base de datos. Base de datos@host usuario contraseña  SQLDefaultGID y SQLDefaultUID: Indican, respectivamente, los GID y UID que se usan por defecto en caso de no poner nada en la tabla.  SQLMinUserGID y SQLMinUserUID: Indican el UID y el GID mínimo que han de tener los usuarios para poder loguear.  SQLGroupInfo: Se indica el nombre de la tabla que posee la información de los grupos, así como los nombres de los campos.  SQLUserInfo: Se indica el nombre de la tabla que posee la información de los usuarios, así como los nombres de los campos2.  SQLUserWhereClause: Indica una condición a la hora de seleccionar los campos.  Nosotros la usamos para controlar si una cuenta está activa o no3.  SQLLogFile: Se indica el archivo de log donde se guarda la información generada por el servidor al acceder a la base de datos.Estos son los ficheros que contiene el servicio proFTPd: 5
  7. 7. REDES TRIMESTRE 1 Débora García GarcíaNosotros vamos a incluir las directivas anteriores en el fichero proftpd.cponf, meterlas aquímás adelante da problemas para la conexión, así que las comenté todas y las descomenté en elfichero sql.conf que vienen por defecto la mayoría comentadas: 6
  8. 8. REDES TRIMESTRE 1 Débora García GarcíaAhora instalamos el módulo que permite que proftpd se sirva de una base de datos mysql eneste caso: -apt-get install proftpd-mod-mysqlDebemos de configurar el fichero modules.conf descomentando alguna línea:Ahora reiniciamos el servicio:Creación de usuarios virtualesVamos a crear dos usuarios que van a tener acceso por FTP a cada uno de sus espacios web,para gestionar las páginas de manera remota y añadir la información en las tablas creadasanteriormente.Nos conectamos a la base de datos: - Mysql –u proftpd –p : profetpd - Use ftpd; 7
  9. 9. REDES TRIMESTRE 1 Débora García GarcíaVamos a crear un grupo ftpusers con identificador 6000 y también vamos a crear dos usuariosuser1 y user2 con los identificadoes 5000 y 5001, pertenecen al grupo anterior. El campo Shellserá /bin/false, indicando que no van a poder loguearse en el sistema como usuarios reales:Miramos si se han introducido los datos correctamente:Creamos sus directorios para los sitios web virtuales:Cambiamos el uid y guid:Para finalizar voy a mostrar cómo quedaría finalmente el fichero proftpd.conf, lo másimportante: 8
  10. 10. REDES TRIMESTRE 1 Débora García García 9
  11. 11. REDES TRIMESTRE 1 Débora García GarcíaAcceso remoto usando un cliente FTPVamos a comprobar que configurados todos los ficheros necesarios funciona nuestra conexiónde usuarios almacenados en la base de datos mysql con FTP:User1 10
  12. 12. REDES TRIMESTRE 1 Débora García GarcíaUser2 11
  13. 13. REDES TRIMESTRE 1 Débora García García 12

×