apuntes:servicios_transferencia
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
apuntes:servicios_transferencia [2017/09/26 20:30] – [Servicio FTP (File Transfer Protocol)] Santiago Faci | apuntes:servicios_transferencia [2018/02/08 14:26] – [Servicio FTP (File Transfer Protocol)] Santiago Faci | ||
---|---|---|---|
Line 2: | Line 2: | ||
==== Servicio FTP (File Transfer Protocol) ==== | ==== Servicio FTP (File Transfer Protocol) ==== | ||
+ | |||
+ | El protocolo FTP (**F**ile **T**ransfer **P**rotocol) es un protocolo utilizado para la transferencia de ficheros entre una máquina local y otra remota. Básicamente son dos operaciones las que se pueden realizar, subir ficheros a la máquina remota o bien descargarlos. Además existen más comandos pero se utilizan para manejarse dentro del servidor con el objetivo de poder navegar por la estructura de directorios, | ||
< | < | ||
{{ ftp_activo_pasivo.jpg? | {{ ftp_activo_pasivo.jpg? | ||
< | < | ||
+ | |||
+ | === Servidores FTP === | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | <code bash> | ||
+ | santi@zenbook: | ||
+ | </ | ||
+ | |||
+ | El fichero de configuración principal lo podemos encontrar en ''/ | ||
+ | |||
+ | <file apache / | ||
+ | . . . | ||
+ | Include | ||
+ | ServerName | ||
+ | DisplayLogin | ||
+ | Port 21 | ||
+ | . . . | ||
+ | </ | ||
+ | |||
+ | === Servidores SFTP === | ||
+ | |||
+ | En el caso de que queramos utilizar una opción segura a este protocolo, podemos utilizar también '' | ||
+ | |||
+ | <code bash> | ||
+ | santi@zenbook: | ||
+ | </ | ||
+ | |||
+ | En este caso el fichero de configuración lo encontraremos en ''/ | ||
+ | |||
+ | === Clientes FTP === | ||
+ | |||
+ | Como cliente FTP de consola tendremos el comando '' | ||
<code bash> | <code bash> | ||
santi@zenbook: | santi@zenbook: | ||
Connected to misitio.com. | Connected to misitio.com. | ||
- | 220---------- Welcome to Pure-FTPd [privsep] [TLS] ---------- | + | 220 ProFTPD 1.3.5b Server |
- | 220-You are user number 9 of 50 allowed. | + | |
- | 220-Local time is now 15:55. Server | + | |
- | 220-IPv6 connections are also welcome on this server. | + | |
- | 220 You will be disconnected after 15 minutes of inactivity. | + | |
Name (misitio.com: | Name (misitio.com: | ||
- | 331 User santi OK. Password required | + | 331 Password required |
Password: | Password: | ||
- | 230 OK. Current restricted directory is / | + | 230 User santi logged in |
Remote system type is UNIX. | Remote system type is UNIX. | ||
Using binary mode to transfer files. | Using binary mode to transfer files. | ||
ftp> | | ftp> | | ||
</ | </ | ||
+ | |||
+ | Utilizando el comando '' | ||
<code bash> | <code bash> | ||
Line 46: | Line 79: | ||
</ | </ | ||
- | <code bash> | + | A continuación se describen los más utilizados |
- | ftp> help rmdir | + | |
- | rmdir | + | |
- | </ | + | |
- | === Servidores | + | < |
+ | ^ Comando ^ Descripción ^ | ||
+ | | bye | Cierra la sesión | ||
+ | | cd | Cambia de directorio en la máquina remota| | ||
+ | | delete | Elimina un fichero en la máquina remota | | ||
+ | | get | Descarga un fichero de la máquina remota | | ||
+ | | lcd | Cambia/ | ||
+ | | ls | Lista el contenido de un directorio de 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 | | ||
+ | | mput | Sube múltiples ficheros a la máquina remota | | ||
+ | | prompt | Activa/ | ||
+ | | put | Sube un fichero a la máquina remota | | ||
+ | | pwd | Muestra el directorio activo en la máquina remota | | ||
+ | | rmdir | Elimina un directorio en la máquina remota | | ||
+ | | verbose | Activa/ | ||
+ | < | ||
- | === Servidores SFTP === | + | Hay que tener en cuenta que podemos obtener, interactivamente, |
<code bash> | <code bash> | ||
- | santi@zenbook: | + | ftp> help rmdir |
+ | rmdir | ||
</ | </ | ||
- | === Clientes | + | 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> | <code bash> | ||
Line 71: | 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 109: | 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 129: | 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 141: | Line 191: | ||
{{bareftp.png }} | {{bareftp.png }} | ||
< | < | ||
+ | |||
+ | ==== 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: | ||
+ | </ | ||
+ | |||
+ | |||
==== Servicio SSH (Secure SHell) ==== | ==== Servicio SSH (Secure SHell) ==== | ||
Line 161: | Line 325: | ||
santi@zenbook: | santi@zenbook: | ||
</ | </ | ||
+ | |||
+ | === Configuración del servicio SSH === | ||
---- | ---- |
apuntes/servicios_transferencia.txt · Last modified: 2019/01/04 13:02 by 127.0.0.1