Práctica 13:
PROFTPD

Despliegue de Aplicaciones Web
Miguel Ángel López Torralba
2013-14
Despliegue de aplicaciones web
Práctica 13:ProFTPD

Miguel Ángel López Torralba
2013-14

1: Instalación del proftpd
Antes de nada debemos de instalar el ProFTPD, para ello debemos de irnos a la
consola de Lynux y escribir:
sudo apt-get install proftpd
Cuando nos de la opción de elegir, debemos de proceder a utilizar stand-alone,
de este modo decidimos cuando ponemos en marcha el servicio y cuando lo apagamos.

•
•
•
•
•

Los archivos del servidor son:
/usr/bin/proftpd El propio servidor de FTP.
/usr/bin/ftpwho Una utilidad que muestra información sobre los procesos de
cada usuario actualmente conectado al servidor.
/usr/bin/ftpcount Utilidad que muestra el número de conexiones actuales.
/usr/bin/ftpshut Orden para apagar el servidor, sólo funciona en modo
“standalone”.
/var/log/proftpd/proftpd.log Fichero con la información sobre los “logs” en el
servidor, habría que decidir qué política de rotación se desea seguir

2: Instalación de ftp
Para instalar ftp debemos de ejecutar de forma análoga al punto 1, la siguiente
expresión:
sudo apt-get install ftp
Despliegue de aplicaciones web
Práctica 13:ProFTPD

Miguel Ángel López Torralba
2013-14

2.a. Ejecuta FTP desde consola (puedes usar como cliente la propia máquina
servidora).
$ftp localhost
logueate con un usuario del sistema.

Prueba ahora con $ftp 192.168.13.7 y el usuario anonymous (no tiene contraseña).
Comprueba donde estás (pwd) Cambia al directorio BBDD
Despliegue de aplicaciones web
Práctica 13:ProFTPD

Miguel Ángel López Torralba
2013-14

3. Haz la configuración necesaria para:
3.1. Comprobar el acceso mediate ftp de un usuario concreto del sistema.
Creamos un directorio proftpd en el directorio home y le damos permisos a esta
carpeta:

Ahora le añadimos la dirección de la carpeta al archivo de configuración:
/etc/proftpd/proftpd.conf

Creamos un archivo en la carpeta proftpd, para poder verlo, hay que hacerlo o de
lo contrario puede parecernos que nos esta fallando, en mi caso el archivo se llama
hola.txt
Ahora probamos a conectarnos desde el cliente con el servidor mediante ftp y
ver de ese modo si accedemos a la carpeta creada:
Despliegue de aplicaciones web
Práctica 13:ProFTPD

Miguel Ángel López Torralba
2013-14

Creamos el usuario lopezMiguel con:
sudo adduser lopezMiguel --force-badname
y comprobamos que accede ftp desde el cliente:

3.2. Denegar el acceso mediante ftp a un usuario concreto del sistema.
Ahora vamos a denegarle el acceso a lopezMiguel, por medio del archivo:
/etc/proftpd/proftpd.conf añadiéndole las siguientes líneas:

Reiniciamos proftpd y comprobamos en el cliente que no nos deja acceder con el
usuario lopezMiguel.
Despliegue de aplicaciones web
Práctica 13:ProFTPD

Miguel Ángel López Torralba
2013-14

Y ahora intentamos entrar desde el cliente

Donde podemos ver que no nos permite entrar.
3.3. Permitir el acceso anónimo (o ftp). Indica qué acceso y permisos de navegación
tiene este usuario.
Para permitir el acceso al servidor por parte de usuarios anónimos debemos de
volver al archivo de configuración y escribir las siguientes líneas:

Tras esto, reiniciamos de nuevo el servidor y probamos a conectar desde el
cliente, viendo que entra correctamente:
Despliegue de aplicaciones web
Práctica 13:ProFTPD

Miguel Ángel López Torralba
2013-14

3.4. Permitir el acceso invitado. Indica qué acceso y permisos de navegación tiene
este usuario. Compáralo con anonymous.
Creamos un usuario invitado en el servidor, añadiéndole el home al que
accederán todos los usuarios invitados, pero también le tendremos que añadir una
restricción para que no tengan acceso a todo mediante Shell.
Para crear al usuario invitado lo hacemos como en el apartado anterior

y en etc/shells incluimos la siguiente línea:

Reiniciamos proftpd, y entramos desde el cliente;
Despliegue de aplicaciones web
Práctica 13:ProFTPD

Miguel Ángel López Torralba
2013-14

mostrando que podemos entrar correctamente.
3.5. Establecer que el acceso solamente pueda ser a los directorios y subdirectorios
de los usuarios.¿Que directiva del fichero de configuración se encarga de esto?
Esto es tan sencillo como dirigirnos de nuevo al archivo de configuración y
descomentar la directiva DefaultRoot, al tiempo que comentamos la directiva donde
imponíamos el directorio proftpd:

Volvemos a reiniciar proftpd y entramos en el ftp desde el cliente con las
diversas posibilidades:
Despliegue de aplicaciones web
Práctica 13:ProFTPD

Miguel Ángel López Torralba
2013-14

Desde el usuario miguel, sin restricciones, podemos observar como entra y como
al hacer un ls vemos el directorio:

Desde el usuario lopezMiguel, entramos también en su directorio:
Despliegue de aplicaciones web
Práctica 13:ProFTPD

Miguel Ángel López Torralba
2013-14

En el caso de anonymous entra en la carpeta proftpd:

y en el caso de invitado también entra en su carpeta personal, la cual esta vacía

Los usuarios están enjaulados, es decir, tan solo pueden entrar en las carpetas por
defecto.
3.6. En el archivo de configuración le quitamos a los usuarios la restricción de que
sólo puedan acceder a su home y lo probamos.
Para retirar que los usuarios puedan moverse por las carpetas es muy sencillo,
tan solo hay que volver a comentar la línea DefaultRoot y reiniciar proftpd
Despliegue de aplicaciones web
Práctica 13:ProFTPD

Miguel Ángel López Torralba
2013-14

Podemos observar como el usuario miguel puede hacerlo:

Seguimos comprobando con lopezMiguel, y vemos que tambien puede:
Despliegue de aplicaciones web
Práctica 13:ProFTPD

Miguel Ángel López Torralba
2013-14

Ahora es el turno de anonymous y vemos que no tiene posibilidad de navegar
por el árbol de directorios.

Finalmente probamos con invitado y vemos que también puede viajar por el
árbol de directorios:
Despliegue de aplicaciones web
Práctica 13:ProFTPD

Miguel Ángel López Torralba
2013-14

4. Las carpetas públicas se usan para que otros se descarguen ficheros. Una
manera sencilla y efectiva de recopilar, organizar y compartir información con
otras personas de un equipo. Puede utilizar carpetas públicas para compartir
archivos o exponer información.
a) Crea en el raiz del servidor la carpeta public_ftp ( /public_ftp ) con permisos
750 y los propietarios que se indica:
Creamos la carpeta den el raíz, es decir en /srv/ftp y le damos los permisos
pertinentes:

Creamos el grupo llamado grupoftp y le añadimos el usuario miguel,
lopezMiguel e invitado:

Convertimos al usuario principal en propietario del grupo, escogiendo a miguel,
por que es el principal del sistema:

b) Crea un fichero en dicha carpeta llamado bienvenidoapublicftp.
Para crear un archivo se puede hacer de varias formas, utilizando gedit, touch...
como no queremos introducirle nada en especial vamos a introducirlo con touch:
Despliegue de aplicaciones web
Práctica 13:ProFTPD

Miguel Ángel López Torralba
2013-14

c) Usando Filezilla como cliente, conéctate a la carpeta public_ftp de tu servidor
FTP usando un usuario adecuado(puede ser de los creados en la práctica pero
OJO con los permisos de la carpeta).
- Indica el usuario que vas a usar y su password.
Voy a utilizar el usuario miguel con pasword miguel para poder acceder al ftp,
aunque mi maquina cliente es el anfitrión donde tengo instalada la maquina virtual de
tomcat, de modo que accedere desde filezilla en windows.
- Este usuario debe tener una carpeta en su home llamada Descarga_Examen.
Como estoy desde windows, he creado una carpeta dentro de "despliegue de
aplicaciones" que se llama "descarga" donde hare a descarga del siguiente punto.
Como puede verse en la captura, estoy conectado a la ip de mi maquina virtual,
por mi usuario de la misma y se ven los directorios clientes y servidor:

- Copia a Descarga el archivo del servidor /public_ftp/bienvenidoapublicftp
Ahora para descargarlo se puede arrastrar o pulsar el boton derecho sobre el
archivo y pulsar descargar, en ambos casos el archivo se nos descarga en la carpeta
"descarga"

13proftpd

  • 1.
    Práctica 13: PROFTPD Despliegue deAplicaciones Web Miguel Ángel López Torralba 2013-14
  • 2.
    Despliegue de aplicacionesweb Práctica 13:ProFTPD Miguel Ángel López Torralba 2013-14 1: Instalación del proftpd Antes de nada debemos de instalar el ProFTPD, para ello debemos de irnos a la consola de Lynux y escribir: sudo apt-get install proftpd Cuando nos de la opción de elegir, debemos de proceder a utilizar stand-alone, de este modo decidimos cuando ponemos en marcha el servicio y cuando lo apagamos. • • • • • Los archivos del servidor son: /usr/bin/proftpd El propio servidor de FTP. /usr/bin/ftpwho Una utilidad que muestra información sobre los procesos de cada usuario actualmente conectado al servidor. /usr/bin/ftpcount Utilidad que muestra el número de conexiones actuales. /usr/bin/ftpshut Orden para apagar el servidor, sólo funciona en modo “standalone”. /var/log/proftpd/proftpd.log Fichero con la información sobre los “logs” en el servidor, habría que decidir qué política de rotación se desea seguir 2: Instalación de ftp Para instalar ftp debemos de ejecutar de forma análoga al punto 1, la siguiente expresión: sudo apt-get install ftp
  • 3.
    Despliegue de aplicacionesweb Práctica 13:ProFTPD Miguel Ángel López Torralba 2013-14 2.a. Ejecuta FTP desde consola (puedes usar como cliente la propia máquina servidora). $ftp localhost logueate con un usuario del sistema. Prueba ahora con $ftp 192.168.13.7 y el usuario anonymous (no tiene contraseña). Comprueba donde estás (pwd) Cambia al directorio BBDD
  • 4.
    Despliegue de aplicacionesweb Práctica 13:ProFTPD Miguel Ángel López Torralba 2013-14 3. Haz la configuración necesaria para: 3.1. Comprobar el acceso mediate ftp de un usuario concreto del sistema. Creamos un directorio proftpd en el directorio home y le damos permisos a esta carpeta: Ahora le añadimos la dirección de la carpeta al archivo de configuración: /etc/proftpd/proftpd.conf Creamos un archivo en la carpeta proftpd, para poder verlo, hay que hacerlo o de lo contrario puede parecernos que nos esta fallando, en mi caso el archivo se llama hola.txt Ahora probamos a conectarnos desde el cliente con el servidor mediante ftp y ver de ese modo si accedemos a la carpeta creada:
  • 5.
    Despliegue de aplicacionesweb Práctica 13:ProFTPD Miguel Ángel López Torralba 2013-14 Creamos el usuario lopezMiguel con: sudo adduser lopezMiguel --force-badname y comprobamos que accede ftp desde el cliente: 3.2. Denegar el acceso mediante ftp a un usuario concreto del sistema. Ahora vamos a denegarle el acceso a lopezMiguel, por medio del archivo: /etc/proftpd/proftpd.conf añadiéndole las siguientes líneas: Reiniciamos proftpd y comprobamos en el cliente que no nos deja acceder con el usuario lopezMiguel.
  • 6.
    Despliegue de aplicacionesweb Práctica 13:ProFTPD Miguel Ángel López Torralba 2013-14 Y ahora intentamos entrar desde el cliente Donde podemos ver que no nos permite entrar. 3.3. Permitir el acceso anónimo (o ftp). Indica qué acceso y permisos de navegación tiene este usuario. Para permitir el acceso al servidor por parte de usuarios anónimos debemos de volver al archivo de configuración y escribir las siguientes líneas: Tras esto, reiniciamos de nuevo el servidor y probamos a conectar desde el cliente, viendo que entra correctamente:
  • 7.
    Despliegue de aplicacionesweb Práctica 13:ProFTPD Miguel Ángel López Torralba 2013-14 3.4. Permitir el acceso invitado. Indica qué acceso y permisos de navegación tiene este usuario. Compáralo con anonymous. Creamos un usuario invitado en el servidor, añadiéndole el home al que accederán todos los usuarios invitados, pero también le tendremos que añadir una restricción para que no tengan acceso a todo mediante Shell. Para crear al usuario invitado lo hacemos como en el apartado anterior y en etc/shells incluimos la siguiente línea: Reiniciamos proftpd, y entramos desde el cliente;
  • 8.
    Despliegue de aplicacionesweb Práctica 13:ProFTPD Miguel Ángel López Torralba 2013-14 mostrando que podemos entrar correctamente. 3.5. Establecer que el acceso solamente pueda ser a los directorios y subdirectorios de los usuarios.¿Que directiva del fichero de configuración se encarga de esto? Esto es tan sencillo como dirigirnos de nuevo al archivo de configuración y descomentar la directiva DefaultRoot, al tiempo que comentamos la directiva donde imponíamos el directorio proftpd: Volvemos a reiniciar proftpd y entramos en el ftp desde el cliente con las diversas posibilidades:
  • 9.
    Despliegue de aplicacionesweb Práctica 13:ProFTPD Miguel Ángel López Torralba 2013-14 Desde el usuario miguel, sin restricciones, podemos observar como entra y como al hacer un ls vemos el directorio: Desde el usuario lopezMiguel, entramos también en su directorio:
  • 10.
    Despliegue de aplicacionesweb Práctica 13:ProFTPD Miguel Ángel López Torralba 2013-14 En el caso de anonymous entra en la carpeta proftpd: y en el caso de invitado también entra en su carpeta personal, la cual esta vacía Los usuarios están enjaulados, es decir, tan solo pueden entrar en las carpetas por defecto. 3.6. En el archivo de configuración le quitamos a los usuarios la restricción de que sólo puedan acceder a su home y lo probamos. Para retirar que los usuarios puedan moverse por las carpetas es muy sencillo, tan solo hay que volver a comentar la línea DefaultRoot y reiniciar proftpd
  • 11.
    Despliegue de aplicacionesweb Práctica 13:ProFTPD Miguel Ángel López Torralba 2013-14 Podemos observar como el usuario miguel puede hacerlo: Seguimos comprobando con lopezMiguel, y vemos que tambien puede:
  • 12.
    Despliegue de aplicacionesweb Práctica 13:ProFTPD Miguel Ángel López Torralba 2013-14 Ahora es el turno de anonymous y vemos que no tiene posibilidad de navegar por el árbol de directorios. Finalmente probamos con invitado y vemos que también puede viajar por el árbol de directorios:
  • 13.
    Despliegue de aplicacionesweb Práctica 13:ProFTPD Miguel Ángel López Torralba 2013-14 4. Las carpetas públicas se usan para que otros se descarguen ficheros. Una manera sencilla y efectiva de recopilar, organizar y compartir información con otras personas de un equipo. Puede utilizar carpetas públicas para compartir archivos o exponer información. a) Crea en el raiz del servidor la carpeta public_ftp ( /public_ftp ) con permisos 750 y los propietarios que se indica: Creamos la carpeta den el raíz, es decir en /srv/ftp y le damos los permisos pertinentes: Creamos el grupo llamado grupoftp y le añadimos el usuario miguel, lopezMiguel e invitado: Convertimos al usuario principal en propietario del grupo, escogiendo a miguel, por que es el principal del sistema: b) Crea un fichero en dicha carpeta llamado bienvenidoapublicftp. Para crear un archivo se puede hacer de varias formas, utilizando gedit, touch... como no queremos introducirle nada en especial vamos a introducirlo con touch:
  • 14.
    Despliegue de aplicacionesweb Práctica 13:ProFTPD Miguel Ángel López Torralba 2013-14 c) Usando Filezilla como cliente, conéctate a la carpeta public_ftp de tu servidor FTP usando un usuario adecuado(puede ser de los creados en la práctica pero OJO con los permisos de la carpeta). - Indica el usuario que vas a usar y su password. Voy a utilizar el usuario miguel con pasword miguel para poder acceder al ftp, aunque mi maquina cliente es el anfitrión donde tengo instalada la maquina virtual de tomcat, de modo que accedere desde filezilla en windows. - Este usuario debe tener una carpeta en su home llamada Descarga_Examen. Como estoy desde windows, he creado una carpeta dentro de "despliegue de aplicaciones" que se llama "descarga" donde hare a descarga del siguiente punto. Como puede verse en la captura, estoy conectado a la ip de mi maquina virtual, por mi usuario de la misma y se ven los directorios clientes y servidor: - Copia a Descarga el archivo del servidor /public_ftp/bienvenidoapublicftp Ahora para descargarlo se puede arrastrar o pulsar el boton derecho sobre el archivo y pulsar descargar, en ambos casos el archivo se nos descarga en la carpeta "descarga"