Mi Blog
👉 Cómo crear usuarios virtuales en ProFTPD

Cómo crear usuarios virtuales en ProFTPD

 
(3 votos)

Crear usuarios virtuales en ProFTPD es muy sencillo y útil. A veces es necesario crear un servidor de ficheros FTP donde se quieran generar cuentas de usuario de acceso al servidor pero que no tengan acceso al sistema y que tampoco estén creados a nivel de sistema operativo. Existen diferentes tipos de usuarios de acceso a un servidor FTP y cada uno tiene su utilidad.

Seguid leyendo si queréis aprender a configurar y habilitar usuarios virtuales en ProFTPD... ¡es muy sencillo!

⬇️ Compra en Amazon el hardware que utilizo ⬇️

🔥 ¡DESCÚBRELOS! 🔥

 

 

¿QUÉ ES UN USUARIO VIRTUAL?

El servidor de ficheros ProFTPD soporte diferentes tipos de usuarios a la hora de acceder al servidor. En este tutorial se va a explicar como habilitar y configurar el acceso a usuarios virtuales. Los diferentes tipos de usuarios que soporta ProFTPD son los siguientes:

  • Usuario de sistema: Son los usuarios propios del sistema operativo. Cuando se accede al servidor FTP con una cuenta de usuario, normalmente se accede a la carpeta $HOME del usuario.
  • Usuario anónimo: El usuario anonymous, es un usuario que suele estar presente en muchos servidores FTP donde queremos tener un acceso público para las descargas de ficheros. Este usuario únicamente suele tener permiso de lectura y su password suele ser cualquier cadena de texto.
  • Usuario virtual: Son usuarios independientes de los usuarios de sistema. Realmente no existen como usuarios normales del sistema operativo.

 

 

Un usuario virtual, no tiene cuenta REAL en el sistema.

 

 

1.- ELEMENTOS NECESARIOS PARA ESTE TUTORIAL

  • Un equipo con GNU/Linux y ProFTPD instalado
  • Conexión a Internet si el servidor está en Internet
  • Cliente FTP

 

 

2.- CONFIGURACIÓN INICIAL

Siguiendo el anterior tutorial de Cómo instalar y configurar ProFTPD en GNU/Linux Debian, partiremos de la configuración realizada en dicho tutorial donde activamos y configuramos un servidor FTP para usuarios de sistema y usuarios anónimos. Para cualquier detalle o duda, podéis visitarlo. La configuración inicial de ProFTPD es la siguiente y será la que modificaremos en los pasos posteriores para habilitar Usuarios Virtuales:

<Anonymous ~ftp>
User ftp
Group nogroup
UserAlias anonymous ftp
RequireValidShell no

<Directory *>
<Limit WRITE>
Deny All
</Limit>
</Directory>

<Directory upload>
<Limit STOR,MKD>
Allow all
</Limit>
</Directory>

</Anonymous>
 

 

 

Recordad que es necesario realizar las operaciones con usuario root o con sudo.

 

 

3.- MODIFICACIONES NECESARIAS EN PROFTPD

Al fichero de configuración de ProFTPD mostrado en el punto 2, debemos añadirle las siguientes líneas de configuración o bien comprobar que ya existen:

Include /etc/proftpd/modules.conf
DefaultRoot ~
RequireValidShell off
AuthUserFile /etc/proftpd/ftpd.passwd

 

 

4.- CREACIÓN DE USUARIOS

Si recordamos del tutorial mencionado en el paso 2, el raíz del ftp se encuentra en /srv/ftp. Lo que vamos a hacer es crear un directorio personal para cada usuario virtual, ya que al no existir los usuarios en el sistema, tampoco existe el directorio habitual /home/<usuario>. Para ello, crearemos los siguientes usuarios virtuales: "john", "charles" y "jason". Sus directorios personales estarán ubicados en los directorios: /srv/ftp_john , /srv/ftp_charles y /srv/ftp_jason.

Primero crearemos los 3 directorios personales para cada usuario:

raul@ns1:~$ sudo mkdir /srv/ftp_john
raul@ns1:~$ sudo mkdir /srv/ftp_charles
raul@ns1:~$ sudo mkdir /srv/ftp_jason

 

 

Para guardar un poco de sintonía con el directorio original /srv/ftp, modificaremos tanto el usuario como el grupo, aunque tampoco es muy importante ya que posteriormente les daremos permisos en el sistema de 777:

raul@ns1:~$ sudo chown ftp.nogroup /srv/ftp_john /srv/ftp_charles /srv/jason
raul@ns1:~$ sudo chmod 777 /srv/ftp_john /srv/ftp_charles /srv/jason

 

 

Crearemos el fichero de usuarios vacío para que posteriormente se vayan añadiendo los usuarios virtuales que creemos:

raul@ns1:~$ sudo touch /etc/proftpd/ftpd.passwd

  

 

Ahora si, crearemos los 3 usuarios virtuales. Deberemos seleccionar un uid y gid que no exista en el sistema. LSe pueden ver los que ya están siendo usados se pueden ver en el fichero /etc/passwd. Por ejemplo, en este ejemplo se han seleccionado valores altos para evitar que coincidan con posibles usuarios del sistema. También hay que indicarle el $HOME del usuario y que la shell a utilizar sea /bin/false:

raul@ns1:~$ sudo ftpasswd --passwd --name=john --uid=2000 --gid=2000 --home=/srv/ftp_john --shell=/bin/false
raul@ns1:~$ sudo ftpasswd --passwd --name=charles --uid=2001 --gid=2001 --home=/srv/ftp_charles --shell=/bin/false
raul@ns1:~$ sudo ftpasswd --passwd --name=jason --uid=2002 --gid=2002 --home=/srv/ftp_jason --shell=/bin/false

 

 

5.- OPERACIONES SOBRE LOS USUARIOS

A continuación se muestran algunos de los comandos más utilizados a la hora de gestionar usuarios virtuales. En las siguientes dos líneas, se puede ver como bloquear/desbloquear la cuenta de usuario de john:

raul@ns1:~$ sudo ftpasswd --passwd --name=john --lock
raul@ns1:~$ sudo ftpasswd --passwd --name=john --unlock

 

 

En la siguiente línea muestro como borrar el usuario charles:

raul@ns1:~$ sudo ftpasswd --passwd --name=charles --delete-user

 

 

Si queremos cambiar la contraseña de un usuario, debemos ejecutar lo siguiente. Pongo un ejemplo para cambiar la contraseña del usuario jason:

raul@ns1:~$ sudo ftpasswd --passwd --name=jason --change-password 

 

 

Existen muchas otras opciones que pueden verse utilizando la ayuda del comando ftpasswd:

raul@ns1:~$ sudo ftpasswd --help

 

 

6.- PROBANDO LOS USUARIOS VIRTUALES

A continuación se pueden ver 3 capturas de pantalla creando un directorio y un fichero en cada $HOME de cada uno de los usuarios:

Usuarios Virtuales ProFTPD$HOME de John

 

  

Usuarios Virtuales ProFTPD$HOME de charles

 

 

Usuarios Virtuales ProFTPD$HOME de Jason

 

 

7.- CONFIGURACIÓN FINAL

El fichero de configuración final de proftpd.conf, para usuarios de sistema, usuarios anónimos y usuarios virtuales, queda de la siguiente forma:

Include /etc/proftpd/modules.conf

ServerName "Debian"
ServerType standalone
DefaultServer on
UseIPv6 off

DefaultRoot ~
RequireValidShell off
AuthUserFile /etc/proftpd/ftpd.passwd

<Anonymous ~ftp>
User ftp
Group nogroup
UserAlias anonymous ftp
RequireValidShell off

<Directory *>
<Limit WRITE>
Deny All
</Limit>
</Directory>

<Directory upload>
<Limit STOR,MKD>
Allow all
</Limit>
</Directory>

</Anonymous>

 

 

ENJOY!


Acerca de Mi

RPF

Soy Ingeniero Téc. Industrial Mecánico, Administrador de Sistemas Informáticos, Desarrollador de Aplicaciones Informaticas Web, Técnico Superior en PRL, Experto en Energías Renovables... y trabajo actualmente como Senior DevOPS en HP SCDS.

Contactar conmigo

Dirección: León, España

E-Mail: Contactar

Web: https://www.raulprietofernandez.net

Skype: raul.lnx

APÚNTATE GRATIS

VIP RPF
Entra en la Comunidad VIP y consigue acceso a las descargas en PDF, Trucos y Videotutoriales ocultos y mucho más... ¡Muy Pronto!
Cookies

Usamos cookies en nuestro sitio web. Algunas de ellas son esenciales para el funcionamiento del sitio, mientras que otras nos ayudan a mejorar el sitio web y también la experiencia del usuario (cookies de rastreo). Puedes decidir por ti mismo si quieres permitir el uso de las cookies. Ten en cuenta que si las rechazas, puede que no puedas usar todas las funcionalidades del sitio web.