Este blog tiene por objetivo el levantamiento de dos servidores: FTP y NFS

Servidores en Linux
Mostrando entradas con la etiqueta SERVIDOR FTP. Mostrar todas las entradas
Mostrando entradas con la etiqueta SERVIDOR FTP. Mostrar todas las entradas

SERVIDOR FTP

FTP (File Transfer Protocol) o Protocolo de Transferencia de Archivos (o ficheros informáticos) es uno de los protocolos estándar más utilizados en Internet siendo el más idóneo para la transferencia de grandes bloques de datos a través de redes que soporten TCP/IP. El servicio utiliza los puertos 20 y 21, exclusivamente sobre TCP. El puerto 20 es utilizado para el flujo de datos entre cliente y servidor. El puerto 21 es utilizando para el envío de órdenes del cliente hacia el servidor.

Prácticamente todos los sistemas operativos y plataformas incluyen soporte para FTP, lo que permite que cualquier computadora conectada a una red basada sobre TCP/IP pueda hacer uso de este servicio a traves de un cliente FTP.
Los objetivos del FTP son:

  1. Promover el intercambio de archivos (ordenador programas y / o datos),
  2. Fomentar la indirecta o implícita (a través de programas) de equipos remotos,para proteger a un usuario de variaciones en los sistemas de
  3. Almacenamiento de archivos entre hosts, y
  4. Para transferir datos de forma confiable y eficiente.
FTP, aunque utilizables directamente por un usuario en una terminal, está diseñado principalmente para uso de los programas.
El intento en este pliego de condiciones para satisfacer las diversas necesidades de los usuarios de maxi-hosts, mini-hosts, estaciones de trabajo personales, y los TAC, con un simple y fácil de implementar el diseño del protocolo.

INSTALACIÓN Y CONFIGURACIÓN DEL SERVIDOR FTP

INSTALANDO VSFTPD

Levantar el servidor FTP es realmente sencillo y ahora lo veremos.

Primero, instalamos el vsftpd, que es un demonio disponible en Ubuntu, muy facil de configurar y mantener. Lo instalamos desde la terminal o con synaptic, en este caso se hará desde la terminal introduciendo el comando:

$ sudo aptitude install vsftp

Después de esta orden el gestor de paquetes descargará e instalará el demonio.

CONFIGURANDO PERMISOS EN EL SERVIDOR.

Después de haber instalado vsftpd, procederemos a editar los permisos del servidor, para esto introducimos el siguiente comando:

$ sudo gedit /etc/vsftpd.conf


Se abrirá un archivo en gedit, donde editaremos o descomentaremos los permisos según nuestras necesidades:

De forma predeterminada, sólo se permiten los accesos FTP anónimos.
Si deseas desactivar esta opción, debes cambiar la siguiente línea:

anonymous_enable=YES

por

anonymous_enable=NO

De forma predeterminada, los usuarios locales del sistema no pueden iniciar una sesión al servidor FTP. Para cambiar esto, debes descomentar la siguiente línea:

#local_enable=YES

De forma predeterminada, los usuarios pueden descargar archivos desde el servidor FTP. Sin embargo, no pueden subir archivos al servidor FTP. Para cambiar esto, debes descomentar la siguiente línea:

#write_enable=YES

Del mismo modo, de forma predeterminada, los usuarios anónimos no pueden subir archivos al servidor FTP. Para cambiar esta opción, debes descomentar la siguiente línea:

#anon_upload_enable=YES

El archivo de configuración consta de muchos parámetros de configuración. La información sobre cada parámetro se encuentra disponible en el archivo de configuración.

Una vez que haya configurado vsftpd puede ejecutar el demonio. Debes reiniciar el demonio con el siguiente comando:

sudo /etc/init.d/vsftpd restart

Ahora nuestro servidor ya está funcionando.

Si quieres detener el demonio del servidor (parar el servidor) solo introduces:

sudo /etc/init.d/vsftpd stop

o para iniciarlo:

sudo /etc/init.d/vsftpd start

Debes recordar que siempre que hagas un cambio en el archivo de configuración, debes reiniciar el demonio.

CLIENTE FTP

Existen algunos programas que se pueden utilizar para conectarse como clientes a un servidor FTP, pero nosotros utilizaremos el predeterminado, que ya viene instalado en Ubuntu, es decir NAUTILUS, el navegador de archivos.

Para esto vamos a:

Lugares>Conectar con el servidor...


Nos aparecerá la ventana donde pondremos la dirección del servidor y el usuario como vamos a conectarnos.

Primero, cambiamos la opción FTP (público) por FTP (con login).
Después introducimos la dirección de nuestro servidor, en este caso 198.168.1.2
Finalmente introducimos el nombre de usuario provisto por el servidor, en este caso marlonxk

(Los nombres de usuario y contraseñas son los de los usuarios en linux que tienen permisos del servidor)


Nos aparecerá una ventana donde tenemos que escribir la contraseña, en este caso anita123


Una vez se introdujo la clave, se abrirá la ventana con los archivos del servidor, donde podremos trabajar de acuerdo a los permisos que éste nos haya dado.
(En la parte inferior de la imagen se puede ver como el servidor se montó en el escritorio como un disco de red)

CLIENTE FTP POR CONSOLA

Comandos de Consola para FTP

El FTP (File Transfer Protocol) es un programa que nos permite transferir datos, almacenados en ficheros, de un host remoto a otro local, o viceversa. Para poder llevar a cabo esta operación es necesario saber la dirección IP (o "nombre") del host al que nos queremos conectar para realizar algún tipo de transferencia.

Es fundamental distinguir entre un host local y un host remoto: HOST LOCAL: Es aquel desde donde nos conectamos para hacer la taransferencia, es decir, donde ejecutamos el FTP. HOST REMOTO: Es aquel al que nos conectamos para transferir información. El manual que se presenta aquí, contiene los siguientes temas: Ejecusión del FTP, Salir de una sesion de FTP, Ayuda, Ficheros Y Directorios, Transferencia de información, Transferencia de ficheros del host remoto al local, Transferencia de ficheros del host local al remoto.
Ejecución del FTP

Pasos a seguir para hacer FTP de un host (local) a otro (remoto):

* Para conectarnos al servidor FTP escribimos el comando
$ ftp dirección(IP)

* Hecho esto nos preguntará el nombre de usuario y el password , es decir: Username nombre de usuario y Password palabra clave, el nombre de usuario puede ser: El user name (login) de una cuenta en el host a la que se quiere acceder; o bien "anonymous" : para poder acceder al servidor de ficheros del host remoto. Es aconsejable (y a veces obligatorio) introducir como password, la dirección de correo electrónico.

* Hecho esto, ya se ha establecido comunicación con el host remoto a través de FTP; por lo que el prompt del sistema cambia por el prompt del FTP, que es: FTP> o FTP-0> A partir de este momento ya se pueden utilizar los comandos específicos del FTP.

Abandonar una sesión FTP

Para abandonar una sesión FTP, se pueden usar los siguientes comandos:

* close: Termina la sesión de FTP, pero no abandona el programa.

* bye quit: Termina la sesión de FTP y abandona del programa.

Ayuda en la consola FTP

La consola de comandos FTP nos proporciona varios comandos para obtener ayuda de cómo trabajar en él:

*
? help: Proporciona una lista de los comandos del FTP del host local.

*
help "comando" ó ? "comando": Proporciona información sobre el comando especificado, correspondeinte al host local.

Ficheros y Directorios

Enseguida se dará una relación de comandos del FTP referentes al control de ficheros y directorios.

*
lcd "directorio-local": Permite moverse de un directorio a otro en el host local.

*
lcd "unidad": Para cambiar de una unidad de disco a otra, en el caso particular de que el host local sea una PC.

*
cd "directorio-remoto": Para accesar de un directorio a otro en el host remoto.

*
lls "directorio-local": Para desplegar el contenido de un directorio en el host local.

*
dir "directorio-remoto" ó ls "directorio-remoto": Para desplegar el contenido de un directorio en el host remoto.

*
! "comando": Para ejecutar un comando en el host local

* delete "fichero-remoto": Para borrar un fichero en el host remoto.

* delete "ficheros-remotos": Para borrar varios ficheros en el host remoto.

* rmdir "directorio-remoto": Para borrar un directorio en el host remoto.

* mkdir "directorio-remoto": Para crear un directorio en el host remoto.

* pwd: Para saber el directorio en el que se está, en el host remoto.

Transferencia de Datos

Utilizando el FTP se puede realizar la transferencia de datos en dos formatos diferentes: ascii y binario. Por defecto, la transferencia se hace en modo ascii.

Para saber que tipo de formato está activado para realizar las transferencias, se puede utilizar el comando: type.

Para realizar la transferencia en modo ascii, se puede utilizar el comando: ascii ó type ascii.

Para hacer la transferencia en modo binario, se puede utilizar el comando: binary ó type binary.

TRANSFERENCIA DE FICHEROS DEL HOST REMOTO AL HOST LOCAL

Para transferir un fichero del host remoto al local, se utiliza el comando: get o recv (son equivalentes). La sintaxis es: get "fichero-remoto" ó get (remote-file) "fichero-remoto".

Si es necesario cambiar el nombre del fichero que se va a transmitir, se utiliza el comando: get "fichero-remoto" "fichero-local".

Si se quiere transferir varios ficheros del host remoto al local, se utiliza el comando mget. La sintaxis es: mget "lista de nombres de los ficheros-remotos" ó mget (remote-files) "lista de nombres de los ficheros-remotos".

Entonces tenemos que:

Si está en Interactive mode on , va a solicitar confirmación antes de transferir cada uno de los ficheros especificados.

Si está en Interactive mode off , no va a solicitar confirmación antes de transferir cada uno de los ficheros especificados.

Para cambiar de mode on a mode off, o viceversa, se puede utilizar el comando prompt, cuya sintaxis, es: prompt.

Los ficheros van separados por espacios en blanco y pueden incluir los metacaracteres.

TRANSFERENCIA DE FICHEROS DEL HOST LOCAL AL HOST REMOTO

Para transferir un fichero del host local al remoto, se puede utilizar el comando put o send (son equivalentes). La sintaxis es: put "fichero-local" o put (File) "fichero-local".

Si se quiere cambiar el nombre del fichero que se va a transmitir, se podrá utilizar: put "fichero-local" "fichero-remoto" ó send "fichero-local" "fichero-remoto".

Si se quieren transmitir varios ficheros del host local al remoto, se utilizará el comando: mput. La sintaxis es: mput "lista de nombres de los ficheros-locales" ó mput (local-files) "lista de nombres de los ficheros-locales".

De forma similar, en caso de transmitir ficheros con el comando mget :

Si está en Interactive mode on , va a solicitar confirmación antes de transmitir cada uno de los ficheros especificados.

Si está en Interactive mode off , no va a solicitar confirmación antes de transmitir cada uno de los ficheros especificados.

Para cambiar de mode on a mode off, o viceversa, se podrá utilizar el comando prompt, cuya sintaxis, es : prompt.

Los ficheros van separados por espacios en blanco y pueden incluir los metacaracteres.

(Toda esta información, con algunas modificaciones, ha sido tomada de: http://www.xcien.com/manuales/manualesftp/mnlccmnd.htm)