Instalación Servidor - Cliente FTP

En esta ocasión, procederemos a instalar y configurar un servidor y un cliente FTP. Para ello, antes haremos una breve explicación de que es el FTP.


Es un protocolo de red para la transferencia de archivos entre sistemas conectados mediante una red TCP, a través de la arquitectura servidor-cliente. Las siglas FTP, proceden de los vocablos anglosajones: “File Transfer Protocol”, es decir, Protocolo de Transferencia de Archivos.





Instalación de Servidor FTP




Hemos elegido como servidor FTP, uno muy común que es el que se suele asociar a ubuntu cuando se habla de servidores de este tipo. Dicho servidor, se llama “vsftpd”.


Para ello, hemos abierto un terminal y hemos escrito la siguiente línea de comandos:




sudo apt-get install vsftpd




De esta manera, tendremos instalado el servidor de ftp. Antes de proceder a la configuración de este servidor, procederemos a instalar el cliente de ftp, aunque cualquier navegador web, como por ejemplo el Mozilla Firefox, se puede utilizar como cliente de un ftp, tan sólo escribiendo en la siguiente línea en la barra de direcciones:





ftp://192.168.0.58




Y tras cargar la página, nos deberá de pedir un usuario y contraseña si así hemos configurado el servidor ftp.




Aún pudiéndose conectar al ftp a través de un navegador web, nosotros hemos instalados el cliente ftp “gftp” con la siguiente línea de comandos en la terminal:





sudo apt-get install gftp




Una vez terminadas las instalaciones pertinentes, pasamos a la configuración del equipo que hará de servidor ftp, y de la configuración del programa y de sus archivos correspondientes.






Configuración del Servidor PC-FTP




Los archivos que vamos a editar para configurar nuestro servido, van a ser:





/etc/vsftpd.user_list
/etc/vsftpd.conf




El primer archivo, se centra en la configruación de carpetas y usuarios que tendrán acceso al ftp; mientras que el segundo se encarga de la configuración general del mismo.


Comenzaremos editando el archivo de configuración general. Para ello escribimos la siguiente línea de comandos en nuestro terminal:




sudo gedit -/etc/vsftpd.conf



Y sustituimos el texto que nos aparece en el archivo, por este otro:




listen=YES


#ANONIMOS NO


anonymous_enable=NO


local_enable=YES


write_enable=YES


#anon_upload_enable=YES


#los archivos van a ser enmascarados 077



local_umask=077


dirmessage_enable=YES


xferlog_enable=YES


connect_from_port_20=YES


# MENSAJE DE BIENVENIDA


ftpd_banner=BIENVENIDO A MI FTP.MLUISA.


# usa los usuarios locales, van a ser redireccionados a su home /home/ftp/user


chroot_local_user=YES


pam_service_name=vsftpd



chmod_enable=YES


dirlist_enable=YES


# los usuarios sólo puedan acceder a las carpetas del FTP y no a todo el sistema.


chroot_list_enable=YES


chroot_list_file=/etc/vsftpd.chroot_list


# Mascara del directorio


local_umask=022


# Enjaula a los usuarios dentro de su propio directorio personal. Mejora la seguridad.


chroot_local_user=YES





De esta manera, el servidor cogerá los usuarios y contraseñas de los usuarios locales del PC donde se encuentre instalado el servidor FTP, así como sus carpetas personales como lugar de inicio al entrar cada usuario en el ftp.




Para el proceso de los usuarios y permisos, nosotros hemos creado varias carpetas y varias cuentas de usuario así como un grupo para englobarlos.


Para ello, en esta ocasión hemos decidido realizar la gestión de usuarios y la creación de carpetas a través de la interfaz gráfica de gnome.


Al instalar el servidor, nos ha creado una carpeta /home/ftp. Nosotros aprovechamos esta carpeta, y vamos a crear un par de carpetas con distintos permisos para probar nuestra configuración. Tendremos 3 carpetas de carácter general, y 1 por cada usuario, de carácter personal.


A continuación explicamos de forma breve los permisos de cada carpeta:




TODOS = Tienen todos los permisos, es decir de lectura, escritura y ejecución todos los usuarios que nosotros permitimos. (Hemos excluido a los usuarios anónimos para que sólo entren los usuarios locales de nuestro pc)





NEVER = No tiene permiso ningún usuario, tan sólo el administrador puede entrar en esta carpeta.




READ = Los usuarios normales tan sólo tienen permiso de lectura en esta carpeta. El admón. tiene todos los permisos.




Userftp* = El usuario, cuyo nombre coincide con el nombre de la carpeta, tiene todos los permisos, pero los demás usuarios no tienen acceso ninguno a ella. Tan sólo el administrador.




Los usuarios, como hemos dicho antes, los hemos creado a través de la interfaz, Administración > Usuarios y Grupos. Ahí hemos creado un grupo de usuarios llamado “ftp”, y los usuarios los hemos creado, metíendolos en el grupo que anteriomente hemos citado, y poníendole como carpeta pesonal, la siguiente ruta /home/ftp/userftp*, siendo el asteríco el número del usuario que le hemos dado. Nosotros en nuestro caso hemos creado dos usuarios.




A través del terminal, vamos a ejecutar unas cuantas órdenes para modificar los permisos de cada carpeta tal y como hemos citado anteriormente, hemos escrito lo siguiente:





sudo su




[para entrar como usuario root, nos pedirá la contraseña, tras haberla introducido, escribimos lo que viene a continuación:]




chmod 777 /home/ftp/TODOS


chmod 707 /home/ftp/userftp*


chmod 557 /home/ftp/READ


chmod 007 /home/ftp/NEVER





Ahora a continuación editamos el ficher que contiene los distintos shell de linux:




gedit /etc/shells




Y le añadimos la siguiente línea al fichero: “ /bin/ftp”.


También editaremos el fichero que contiene las password y buscamos en las últimas líneas los nombres de nuestros usuarios sustituyendo lo que pone por lo siguiente:




userftp1:x:1003:1004:userftp1,,,,:/home/ftp/userftp1:/bin/ftp


userftp2:x:1004:1004:userftp2,,,,:/home/ftp/userftp2:/bin/ftp





De esta manera, tendremos a los usuarios asociados al shell fantasma que hemos creado anteriormente.


Tras realizar estos pequeños cambios en nuestro sistema operativo, volvemos a la configuración del servidor de ftp, creando un archivo con los nombres de los usuarios locales que les permitiremos el acceso al ftp. Para ello nos vamos a nuestro terminal, y escribimos la siguiente línea de comandos:




sudo gedit /etc/vsftpd.chroot_list




#usuarios que pueden entrar, mluisa es el administrador.


mluisa


userftp1


userftp2





Una vez realizado esto, escribimos en la consola el siguiente comando para reiniciar el demonio encargado del ftp.




Sudo /etc/init.d/vsdftpd restart




Tras reiniciar el ftp, nos vamos Aplicaciones > Internet > GFTP , que si recordamos era nuestro cliente ftp. Nos pide la ip de nuestro servidor, el puerto (como el nuestro es por defecto lo dejamos tal cúal nos lo encontramos), el nombre de uno de los usuarios con permisos, y la contraseña de este. Y nos debe de aparecer una ventana como esta:





pantallazohx0.png


Por último, comentar que el correcto funcionamiento de este servidor fue comprobado por el profesor, pudiendo apreciar los distintos permisos que tenían cada usuario sobre cada una de las carpetas.

sábado, 7 de marzo de 2009

0 Comments:

 
Bicheando por la Red - Blog Creado en el 2009 por: Ryuka