apuntes:servicios_transferencia
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| apuntes:servicios_transferencia [2017/09/26 20:59] – [Servicio FTP (File Transfer Protocol)] Santiago Faci | apuntes:servicios_transferencia [2019/01/04 13:02] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 10: | Line 10: | ||
| === Servidores FTP === | === Servidores FTP === | ||
| + | |||
| + | [[http:// | ||
| <code bash> | <code bash> | ||
| santi@zenbook: | santi@zenbook: | ||
| </ | </ | ||
| + | |||
| + | El fichero de configuración principal lo podemos encontrar en ''/ | ||
| <file apache / | <file apache / | ||
| Line 25: | Line 29: | ||
| === Servidores SFTP === | === Servidores SFTP === | ||
| + | |||
| + | En el caso de que queramos utilizar una opción segura a este protocolo, podemos utilizar también '' | ||
| <code bash> | <code bash> | ||
| santi@zenbook: | santi@zenbook: | ||
| </ | </ | ||
| + | |||
| + | En este caso el fichero de configuración lo encontraremos en ''/ | ||
| === Clientes FTP === | === Clientes FTP === | ||
| + | |||
| + | Como cliente FTP de consola tendremos el comando '' | ||
| <code bash> | <code bash> | ||
| Line 44: | Line 54: | ||
| ftp> | | ftp> | | ||
| </ | </ | ||
| + | |||
| + | Utilizando el comando '' | ||
| <code bash> | <code bash> | ||
| Line 67: | Line 79: | ||
| </ | </ | ||
| + | A continuación se describen los más utilizados | ||
| + | |||
| + | < | ||
| ^ Comando ^ Descripción ^ | ^ Comando ^ Descripción ^ | ||
| | bye | Cierra la sesión FTP | | | bye | Cierra la sesión FTP | | ||
| Line 75: | Line 90: | ||
| | ls | Lista el contenido de un directorio de la máquina remota| | | ls | Lista el contenido de un directorio de la máquina remota| | ||
| | mdelete | Elimina múltiples ficheros en la máquina remota | | | mdelete | Elimina múltiples ficheros en la máquina remota | | ||
| + | | mget | Descarga múltiples ficheros en la máquina local | | ||
| | mkdir | Crea un directorio en la máquina remota | | | mkdir | Crea un directorio en la máquina remota | | ||
| | mput | Sube múltiples ficheros a la máquina remota | | | mput | Sube múltiples ficheros a la máquina remota | | ||
| Line 82: | Line 98: | ||
| | rmdir | Elimina un directorio en la máquina remota | | | rmdir | Elimina un directorio en la máquina remota | | ||
| | verbose | Activa/ | | verbose | Activa/ | ||
| + | < | ||
| + | |||
| + | Hay que tener en cuenta que podemos obtener, interactivamente, | ||
| <code bash> | <code bash> | ||
| Line 87: | Line 106: | ||
| rmdir | rmdir | ||
| </ | </ | ||
| + | |||
| + | En el caso de que queramos conectar a un FTP seguro, utilizando el servicio SSH, podemos hacerlo conectando a través del comando '' | ||
| <code bash> | <code bash> | ||
| Line 94: | Line 115: | ||
| Are you sure you want to continue connecting (yes/ | Are you sure you want to continue connecting (yes/ | ||
| </ | </ | ||
| + | |||
| + | Igualmente contamos con ayuda sobre los diferentes comandos de que disponemos, muy del estilo a los que podemos encontrar en un servicio FTP | ||
| <code bash> | <code bash> | ||
| Line 132: | Line 155: | ||
| sftp> | sftp> | ||
| </ | </ | ||
| + | |||
| + | Conviene tener en cuenta que la IP asociada a un dominio puede cambiar. En ese caso el comando '' | ||
| <code bash> | <code bash> | ||
| Line 152: | Line 177: | ||
| Couldn' | Couldn' | ||
| </ | </ | ||
| + | |||
| + | En el caso de que estemos seguros de que simplemente ha sido un cambio de IP y confiemos plenamente en el servidor al que nos vamos a conectar, podremos añadir dicho dominio al registro de //hosts conocidos// con el siguiente comando: | ||
| <code bash> | <code bash> | ||
| Line 159: | Line 186: | ||
| Original contents retained as / | Original contents retained as / | ||
| </ | </ | ||
| + | ==== Configuración del servicio FTP ==== | ||
| + | |||
| + | === Creación de un sistema de cuentas de usuario === | ||
| + | |||
| + | El primer paso será instalar el servidor FTP '' | ||
| + | |||
| + | <code bash> | ||
| + | santi@zenbook: | ||
| + | </ | ||
| + | |||
| + | En el sistema tendremos que crear un grupo y usuario al que asignaremos a todos aquellos usuarios que, más adelante, se registren a través de la Base de Datos | ||
| + | |||
| + | <code bash> | ||
| + | santi@zenbook: | ||
| + | santi@zenbook: | ||
| + | </ | ||
| + | |||
| + | Y echando un vistazo a los ficheros ''/ | ||
| + | |||
| + | <code bash> | ||
| + | santi@zenbook: | ||
| + | usuarioftp: | ||
| + | santi@zenbook: | ||
| + | grupoftp: | ||
| + | </ | ||
| + | |||
| + | De la salida de los dos últimos comandos podemos concluir que el usuario '' | ||
| + | |||
| + | <code sql> | ||
| + | CREATE DATABASE ftp; | ||
| + | USE ftp; | ||
| + | |||
| + | CREATE TABLE usuarios ( | ||
| + | | ||
| + | | ||
| + | uid INTEGER default 1002, | ||
| + | gid INTEGER default 1003, | ||
| + | home VARCHAR(255), | ||
| + | shell VARCHAR(255) default NULL, | ||
| + | | ||
| + | ); | ||
| + | |||
| + | CREATE TABLE grupos ( | ||
| + | | ||
| + | gid INTEGER NOT NULL, | ||
| + | | ||
| + | ); | ||
| + | </ | ||
| + | |||
| + | Activamos el módulo de SQL en la configuración de proftpd | ||
| + | |||
| + | <file apache / | ||
| + | . . . | ||
| + | LoadModule mod_sql.c | ||
| + | . . . | ||
| + | </ | ||
| + | |||
| + | Y en el fichero de configuración principal modificamos algunos parámetros | ||
| + | |||
| + | <file apache / | ||
| + | . . . | ||
| + | # No es necesario que los usuarios tengan una consola de sistema | ||
| + | RequireValidShell Off | ||
| + | # Hace que los usuarios no puedan salir de su carpeta de inicio | ||
| + | DefaultRoot ~ | ||
| + | . . . | ||
| + | </ | ||
| + | |||
| + | Ahora pasamos a configurar la conexión de proftpd con la Base de Datos | ||
| + | |||
| + | <file apache etc/ | ||
| + | SQLBackend | ||
| + | SQLAuthTypes | ||
| + | SQLConnectInfo | ||
| + | SQLUserInfo | ||
| + | SQLGroupInfo | ||
| + | SQLUserWhereClause | ||
| + | </ | ||
| + | |||
| + | Para que los cambios sean efectivos tendremos que reiniciar el servicio | ||
| + | |||
| + | <code bash> | ||
| + | santi@zenbook: | ||
| + | </ | ||
| + | |||
| + | Y registrar el grupo en la Base de Datos: | ||
| + | |||
| + | <code sql> | ||
| + | INSERT INTO grupos (nombre, gid, miembros) VALUES (" | ||
| + | </ | ||
| + | |||
| + | Por último, nos queda dar de alta algún usuario en la Base de Datos para comprobar que todo funciona correctamente | ||
| + | |||
| + | <code sql> | ||
| + | INSERT INTO usuarios (usuario, password, home) VALUES (" | ||
| + | </ | ||
| + | |||
| + | Habrá que asegurarse de que dicha carpeta existe y, en caso contrario, crearla y asignarle permisos correctamente | ||
| + | |||
| + | <code bash> | ||
| + | santi@zenbook: | ||
| + | </ | ||
| + | |||
| + | Y ahora ya podemos probar a conectarnos a nuestro servidor FTP con el nuevo usuario creado | ||
| + | |||
| + | <code bash> | ||
| + | santi@zenbook: | ||
| + | Connected to localhost. | ||
| + | 220 Proftpd 1.3.5b Server (Debian) [::1] | ||
| + | Name (localhost: | ||
| + | </ | ||
| + | |||
| - | < | ||
| - | {{ filezilla.png}} | ||
| - | {{bareftp.png }} | ||
| - | < | ||
| ==== Servicio SSH (Secure SHell) ==== | ==== Servicio SSH (Secure SHell) ==== | ||
| Line 184: | Line 319: | ||
| santi@zenbook: | santi@zenbook: | ||
| </ | </ | ||
| + | |||
| + | === Configuración del servicio SSH === | ||
| ---- | ---- | ||
| ===== Ejercicios ===== | ===== Ejercicios ===== | ||
| + | |||
| + | - Conectate a un servidor FTP y descarga varios ficheros evitando que el servidor te pida confirmación para descargar cada uno de ellos | ||
| + | - Conectate a un servidor FTP y sube varios ficheros que se encuentran en diferentes carpetas en tu equipo local. En el servidor deben estar juntos en una sola carpeta que se llamara '' | ||
| + | - Conectate al servidor FTP y elimina una serie de ficheros | ||
| + | - A partir de tu máquina Debian 9 instala lo necesario para montar un sistema de usuarios en MySQL para el servidor FTP proftpd | ||
| ---- | ---- | ||
apuntes/servicios_transferencia.1506459568.txt.gz · Last modified: 2019/01/04 13:02 (external edit)
