Publicado en FTP

FTP en Debian con VSFTPD enjaular usuarios y compartir archivos en Filezilla paso a paso

En este tutorial en DEBIAN 11 vamos a ser el administrador de FTP y vamos a compartir archivos, ningún usuario podrá salir de su carpeta «home» en (/etc/vsftpd.chroot_list ), y podrá descargar los archivos del administrador en el Filezilla.

Antes de continuar, hay que decir que este tutorial va dedicado a «Daniel» que escribió en «dudas» y que quería tener acceso con VSFTPD (FTP) para compartir ficheros a un grupo de usuarios (la carpeta), los cuales solo tengan acceso a su correspondiente carpeta «home» y que no puedan salir a otras carpetas «home»

(Aprovecho a decir, que si alguien tiene dudas, pregunte y se le ayudará lo mejor posible)

(Antes de empezar, hay que decir, que el administrador, tiene las carpetas por defecto con los permisos 755 y para que los usuarios no puedan bajarse archivos de otras carpetas (del administrador) hay que poner en las capetas el comando «chmod 664 (nombre del archivo a no compartir)», ya que no queremos que se descarguen todo lo que hay dentro del usuario administrador)

(Si la carpeta tiene los permisos 755 cualquier usuario puede bajarse documentos , por eso es bueno poner en la terminal «chmod 664 (nombre del documento a no compartir)»)

(Si alguien sabe otro método para no compartir archivos en vsftpd que lo diga, yo solo me se este)

(También hay que fijarse donde estamos a la hora de dar permisos o quitarlos, para ello un comando útil, es «cd» que sirve para movernos por el terminal y «ls» para saber lo que hay dentro de donde estamos )

INDICE

  1. ACTUALIZAR EL SISTEMA
  2. CREAR USUARIO «UNO»
  3. MODIFICAR EN VSFTPD.CONF
  4. ENJAULAR USUARIOS EN vsftpd.chroot_list
  5. CAMBIAR A IP FIJA
    1. IP EN MODO GRÁFICO
    2. IP EN MODO ESCRITO
  6. CARPETA ELRINCONDEMUCHASCOSAS
  7. CONFIGURAR USUARIO «UNO»
  8. CONFIGURAR USUARIO «DOS»
  9. REINICIAR RED
  10. REINICIAR VSFTPD
  11. DATOS EN FILEZILLA
  12. ADMINISTRADOR EN FILEZILLA

Empecemos con el administrador

Nosotros al ser los administradores, podremos salir de nuestra carpeta home.

(Todas estas partes las tiene que hacer el administrador que vaya a compartir la carpeta)

(El usuario simplemente tiene que conectarse a filezilla, conectarse con la IP, el nombre de usuario y la contraseña que le diga el administrador)

1) ACTUALIZAR EL SISTEMA

En Debian 11 he elegido la última versión y la interfaz por defecto

Antes de continuar es recomendable actualizar Debian 11

Para ello hay que ir a la terminal

Aquí está la terminal

Para actualizar Debian 11 han quitado el sudo, entonces para entrar como administrador se pone «su» y se pone la contraseña para ser administrador

(la contraseña que hemos puesto nosotros al crear el usuario administrador)

(Si alguien quiere cambiar la contraseña, es tan fácil como poner «passwd» (nombre del usuario a cambiar la contraseña), en este caso por ejemplo sería passwd «elrincondemuchascosas»)

Ahora ya somos administradores

(Se sabe porque sale «root» en la terminal»)

Ahora para actualizar el sistema ponemos

apt update

Después ponemos.

apt upgrade

Al poner la «s» continúa la instalación

A continuación como vamos a usar vsftpd hay que instalarlo, para eso en la consola hay que poner:

apt install vsftpd

También hay que instalar el Filezilla para usar la interfaz.

Para descargar Filezilla en la terminal hay que poner

apt install Filezilla

2) CREAR USUARIO «UNO»

Para cada usuario hay que crearlo en el apartado de usuarios

Al usuario «uno» aunque le hayamos puesto una contraseña se la puede cambiar por «passwd» y te pide confirmar 2 veces la contraseña

(En este caso para el ejemplo, yo he puesto al usuario «uno» la contraseña «a» pero no hay que elegir una contraseña tan fácil)

3) MODIFICAR EN VSFTPD.CONF

Ahora en la terminal vamos a movernos a etc, para ello en la terminal ponemos:

cd /etc/

Vamos a centrarnos en «vsftpd.conf» para configurar lo que necesitemos de vsftpd

Al poner «nano vsftpd» procedemos a modificar el archivo «vsftpd.conf»

nano vsftpd.conf

Vamos a fijarnos en algunos datos

anonymous_enable=NO

Lo tenemos desactivado porque no queremos que entren usuarios anónimos

local_enable=YES

Lo tenemos activado porque queremos que entren los usuarios registrados

(Creados por el ordenador servidor)

Ahora hay que fijarse en estos 2 registros

Desactivamos «write_enable=YES» y «local_umask=022«

write_enable=YES

De esta forma solo los usuarios registrados pueden subir ficheros, modificarlos, borrarlos o crearlos

local_umask=022

local_umask simplemente especifica el valor para la creación de archivos, por defecto está en 022 que quiere decir que las carpetas están por defecto en 755

(Las 2 juntas quiere decir que los usuarios registrados pueden escribir siempre que los permisos establecidos lo permitan)

También hay que buscar estos registros

Desactivamos estos registros

chroot_local_user=NO

En este caso le ponemos en «NO» porque no queremos que salga de su directorio raíz a otras carpetas

chroot_list_enable=YES

Este registro, al habilitarlo, hace que los usuarios que estén en /etc/vsftpd.chroot_list estén encerrados en su propia carpeta «home» y no puedan acceder a otras carpetas.

(Al estar activado, cualquier usuario que se haya creado y no este en /etc/vsftpd.chroot_list se moverá por todo el sistema a otras carpetas)

chroot_list_file=/etc/vsftpd.chroot_list

Este directorio es el que se pondrá a los usuarios para que estén encerrados en su directorio raíz «home»

(Este directorio se puede mover al nombre que pongamos nosotros para que estén encerrados en la ruta que queramos)

Ahora guardamos pulsando:

control + o = guardar el documento

control + x = para salir del documento

4) ENJAULAR USUARIOS EN vsftpd.chroot_list

La dirección /etc/vsftpd.chroot_list no existe (para enjaular usuarios), entonces hay que crearla en /etc/

En la terminal hay que poner:

touch vsftpd.chroot_list

En la terminal, al poner «ls» se visualiza que ya se ha creado «vsftpd.chroot_list» en /etc

Para entrar en vsftpd.chroot_list hay que poner en la terminal:

nano vsftpd.chroot_list

En vsftpd.chroot_list se añade al usuario que queramos que esté enjaulado en su «home»

En este caso, queremos que el usuario «uno» no salga de su directorio «home» a otros directorios

guardamos y salimos con «control + o» y «control + x»

5) CAMBIAR A IP FIJA

Estando en un servidor, la IP tiene que ser fija, nosotros vamos a cambiar la IP para que sea fija, si alguien tiene la IP fija no tiene que hacer este paso

(Recordad que cada persona tiene que poner su propia IP)

Ahora al poner en la terminal «ip a» sale la IP, en este caso tengo la 10.0.2.15 y hay que fijarse donde pone «enp0s3»

(Supongo que con la IP 10.0.2.15 me vale, pero voy a explicar de 2 formas como crear la ip, en modo gráfico y modo escrito)

(Solo hay que poner una de las dos, no poner las 2)

5.1) IP EN MODO GRÁFICO

(Antes de avanzar hay que elegir si ponemos la ip en modo gráfico o modo escrito, no hagas las 2, elige 1 de los 2)

Primero vamos a ese apartado de red

Este aparado de red lo dejamos como está por defecto

Ahora sí, le damos al signo «+» para crear una nueva red

En el apartado «identidad» ponemos el nombre de la red que queramos, en este caso yo le he puesto «FTP»

(Los demás datos tampoco hace falta añadirlos)

En el apartado IPv4 hay que activar «manual» y abajo poner la dirección que necesitemos, en este caso he puesto 10.50.100.150

(Depende para que usaremos el FTP, ponemos IP publica o IP privada)

(En este caso cada uno pone su IP)

Ya tenemos creada la IP

5.2) IP EN MODO ESCRITO

Para el modo escrito hay que ir a la terminal

(Por defecto no está en «Mostrar aplicaciones» hay que darle en el buscador y poner «terminal»)

En la terminal hay que poner:

cd /etc/network

Ahora al poner «ls» vemos que está el nombre «interfaces» y para entrar ponemos:

nano interfaces

Antes de entrar en la interfaz, hay que poner «ip a» y fijarse donde pone «enp0s3»

«enp0s3» es lo que vamos a poner para poder crear la IP

En «interfaces» vamos a ver paso a paso lo que voy poniendo

auto enp0s3 se refiere que automáticamente va a poner esta red

Ahora explicaré el iface enp0s3 inet static

iface = es el nombre de la interfaz que vamos a usar después

enp0s3 = Es el nombre exclusivo que nuestro equipo tiene para la interfaz de red

inet static = Se refiere que la interfaz va a ser estática, es decir, que va a estar fija

Ahora voy a explicar esta parte

address = Es la dirección de red

netmask = Es la máscara de red

Gateway = Es la puerta de enlace

REINICIAR RED

Ahora guardamos y salimos, a continuación hay que reiniciar la red para que los cambios surjan efecto y en la terminal hay que poner:

systemctl restart networking

En la terminal, al poner «ip a» sale la ip, hay que fijarse en el apartado que esta señalado en la imagen de abajo

(En este apartado solo sale si no está puesta la IP puesta en el modo gráfico, es decir, la ip que está por defecto)

A partir de ahora nos vamos a centrar en el modo gráfico, es decir con la ip 10.50.100.150

6) CARPETA ELRINCONDEMUCHASCOSAS

Ahora vamos a ir por la terminal a la carpeta «elrincondemuchascosas»

Abrimos la carpeta Documentos

Vamos a crear una carpeta y dentro de la carpeta un documento de texto para que el usuario «uno» pueda descargarlo»

Las carpetas por defecto al crearlas tienen los permisos 755, si por alguna razón alguna carpeta no tiene 755, se puede cambiar poniendo «chmod 755 (nombre de la carpeta)

Por ejemplo «chmod 755 Documentos» (sin las comillas)

En «home» tenemos que ir al administrador, que es «elrincondemuchascosas» y movernos después a «Documentos», entonces ponemos

cd elrincondemuchascosas

cd Documentos

Ahora estamos en «Documentos»

Para crear «carpeta1» ponemos:

mkdir carpeta1

A continuación vamos a la carpeta 1 poniendo «cd carpeta1» y creamos un documento de texto poniendo «touch hola

cd carpeta1

touch hola

Para modificar el documento de texto hola, hay que poner:

nano hola

Después de poner «nano hola» se pone lo que queramos en el documento de texto

Ya hemos terminado con el usuario administrador «elrincondemuchascosas»

7) CONFIGURAR USUARIO «UNO»

Se puede visualizar que en «home» hay 2 usuarios «elrincondemuchascosas» y «uno«, pues es importante cambiar los permisos de los usuarios para poder bajar los archivos, en este caso el documento de texto «hola»

Se puede visualizar que los 2 usuarios tienen los permisos 777, pero nosotros solo queremos cambiar en este caso los permisos del usuario «uno»

Aquí hemos modificado los permisos del usuario «uno» y le hemos cambiado los permisos de «w» «escritura» y hemos puesto:

chmod a-w uno

Ahora vamos a crear una carpeta en el usuario «uno»

Para crear la carpeta hemos puesto en la terminal

mkdir carpeta4

Ya tenemos creada la carpeta4

Ahora hemos creado dentro de la carpeta4 otra carpeta que se llama «descargar»

(En la carpeta «descargar» es donde vamos a bajar los archivos)

Ahora en la carpeta descargar hay darle todos los permisos para poder descargar, borrar, etc.

En la carpeta que hemos creado «descargar» hay que darle permisos 777, eso quiere decir que tiene todos los permisos

(La única parte que hay que darle permisos «777» es en esta parte, ya que en las otras carpetas que creamos por la terminal tienen por defecto 755)

8) CONFIGURAR USUARIO «DOS»

ESTA PARTE ES PARA CUANDO CREAMOS UN USUARIO NUEVO
(Ejemplo usuario «dos» «tres» etc…)

Vamos a proceder a crear un usuario nuevo, en este caso el usuario «dos«

Ahora tenemos que ir a /etc/ y en la terminal ponemos:

cd /etc/

Ahora hay que enjaular al usuario, para que no pueda salir de su directorio «home» y en la terminal estando en /etc/ ponemos:

nano vsftpd.chroot_list

Añadimos al usuario que hemos creado, en este caso al usuario «dos»

A continuación vamos a crear las carpetas correspondientes para el usuario «dos» y en la terminal ponemos:

cd /home/

Antes de avanzar hay que quitarle permisos de escritura «w» en «home» al usuario «dos», tenemos que poner en la terminal:

chmod a-w dos

Ahora vamos al usuario «dos

cd /home/dos/

Al no tener una carpeta, la creamos, hay que tener en cuenta que en esta carpeta no podemos ponerle los permisos 777 porque es como si fuera la carpeta «home», entonces hay que crear otra carpeta y crear los permisos 777

En la terminal, para crear la carpeta hay que poner:

mkdir carpetados

(Cada uno pone el nombre que quiera a la carpeta)

Una vez creada la carpeta «carpetados» vamos a ir a dicha carpeta

cd carpetados

Vamos a crear otra carpeta que se llamará «descarga2»

mkdir descarga2

Para que el usuario «dos» pueda descargar, después de haber creado la carpeta «carpetados» (es como si fuera el «home») hay que crear otra carpeta, dicha carpeta tiene los permisos por defecto 755 y le tenemos que dar todos los permisos para poder descargar los archivos del administrador

ls = sirve para ver los archivos que hay donde estemos

ls -l = aparate para ver los archivos que hay donde estemos, también sirve para ver los permisos de cada carpeta (si tiene 755, 700, 777 etc…)

chmod sirve para cambiar los permisos de las carpetas, es decir, para darle más permisos o menos

Poniendo en la terminal «chmod 777 descarga2» ya tendría permisos para descargar los archivos el usuario «dos»

Siguiendo los pasos anteriores, cualquier usuario creado tendrá privilegios para descargar archivos

9) REINICIAR RED

Todo lo anterior no se completa si no reiniciamos la red con:

systemctl restart networking

10) REINICIAR VSFTPD

También hay que reiniciar vsftpd, y en la terminal hay que poner:

systemctl restart vsftpd

11) DATOS EN FILEZILLA

Ya no nos hace falta el terminal, ahora hay que buscar «Filezilla» y iniciarlo

En Servidor, hay que poner la IP 10.50.100.150

(Esa IP es la que hemos creado en modo gráfico)

En Nombre de usuario, ponemos el nombre que hemos creado, es decir, el usuario «uno»

En «Contraseña» se pone «a» que es la que pusimos antes para el usuario «uno»

En «Puerto» 21 es el modo inseguro, y en este apartado no hace falta ponerlo, porque pone automáticamente el inseguro (puerto 21)

Al añadir todos los datos sale este mensaje, simplemente es para que lo sepamos si la conexión es insegura o segura

Esta parte es la parte del administrador

Esta parte es la de los clientes y en este caso se puede visualizar que el cliente «uno» está encerrado en su carpeta «home»

Esta parte es información del sistema

(Te dice si te has conectado correctamente, sino te has conectado correctamente, etc…)

Con el cliente me he metido en la carpeta4 para poder descargar el archivo «hola»

Para Descargar los archivos, al estar dentro de «descargar» hay 2 formas de descargar los archivos del administrador, una de ellas es dándole a «subir»

Se puede visualizar que el archivo se ha descargado correctamente

También se puede borrar el archivo «hola» dándole a «borrar»

Te pedirá confirmación para borrarlo

Y como se puede comprobar se ha borrado correctamente

Otra forma de descargar el archivo es arrastrándolo a la carpeta del usuario, en este caso a «descargar»

12) ADMINISTRADOR EN FILEZILLA

Al entrar con el administrador, en este caso «elrincondemuchascosas» se puede visualizar que el administrador puede entrar en cualquier «home» de cualquier usuario, ya que el administrador no está enjaulado

Gracias por entrar, si te ha gustado sígueme y compártelo

En el caso de que alguien esté aprendiendo y no sea capaz de hacerlo, que lo diga y con mucho gusto le ayudaré donde se haya trabado, si alguien ve que me he saltado algún paso y faltan cosas por poner, que lo diga y con mucho gusto también lo modificaré.

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.