FTP Hosting · 5 min read · Dec 14, 2025
Alojamiento Virtual Con PureFTPd Y MySQL (Incl. Gestión De Cuotas Y Ancho De Banda) En Mandriva 2009.0 - Página 2
6 Poblar La Base De Datos Y Probar
Para poblar la base de datos puedes usar la consola de MySQL:
mysql -u root -pUSE pureftpd;Ahora creamos el usuario exampleuser con el estado 1 (lo que significa que su cuenta ftp está activa), la contraseña secret (que se almacenará encriptada usando la función MD5 de MySQL), el UID y GID 2001 (usa el userid y groupid del usuario/grupo que creaste al final del paso dos!), el directorio home /home/www.example.com, un ancho de banda de subida y bajada de 100 KB/sec. (kilobytes por segundo), y una cuota de 50 MB:
INSERT INTO `ftpd` (`User`, `status`, `Password`, `Uid`, `Gid`, `Dir`, `ULBandwidth`, `DLBandwidth`, `comment`, `ipaccess`, `QuotaSize`, `QuotaFiles`) VALUES ('exampleuser', '1', MD5('secret'), '2001', '2001', '/home/www.example.com', '100', '100', '', '*', '50', '0');quit;Ahora abre tu programa cliente FTP en tu estación de trabajo (algo como WS_FTP, SmartFTP o FileZilla si estás en un sistema Windows o gFTP o FileZilla en un escritorio Linux) y trata de conectarte. Como nombre de host usas server1.example.com (o la dirección IP del sistema), el nombre de usuario es exampleuser, y la contraseña es secret.
Si puedes conectarte - ¡felicitaciones! Si no, algo salió mal.
Ahora, si ejecutas
ls -l /homedebes ver que el directorio /home/www.example.com (el directorio home de exampleuser) ha sido creado automáticamente, y es propiedad de ftpuser y ftpgroup (el usuario/grupo que creamos al final del paso dos):
[root@server1 ~]# ls -l /home
total 8
drwxr-xr-x 3 administrator administrator 4096 2008-10-09 17:14 administrator/
drwxr-xr-x 2 ftpuser ftpgroup 4096 2008-10-22 16:58 www.example.com/
[root@server1 ~]#7 Administración De La Base De Datos
Para la mayoría de las personas es más fácil si tienen una interfaz gráfica para MySQL; por lo tanto, también puedes usar phpMyAdmin (en este ejemplo bajo http://server1.example.com/phpmyadmin/) para administrar la base de datos de pureftpd.

Siempre que quieras crear un nuevo usuario, debes crear una entrada en la tabla ftpd, así que explicaré las columnas de esta tabla aquí:
Tabla ftpd:
- User: El nombre del usuario virtual de PureFTPd (por ejemplo, exampleuser).
- status: 0 o 1. 0 significa que la cuenta está deshabilitada, el usuario no puede iniciar sesión.
- Password: La contraseña del usuario virtual. Asegúrate de usar la función MD5 de MySQL para guardar la contraseña encriptada como una cadena MD5:

- UID: El userid del usuario ftp que creaste al final del paso dos (por ejemplo, 2001).
- GID: El groupid del grupo ftp que creaste al final del paso dos (por ejemplo, 2001).
- Dir: El directorio home del usuario virtual de PureFTPd (por ejemplo, /home/www.example.com). Si no existe, se creará cuando el nuevo usuario inicie sesión por primera vez a través de FTP. El usuario virtual estará encerrado en este directorio home, es decir, no puede acceder a otros directorios fuera de su directorio home.
- ULBandwidth: Ancho de banda de subida del usuario virtual en KB/sec. (kilobytes por segundo). 0 significa ilimitado.
- DLBandwidth: Ancho de banda de bajada del usuario virtual en KB/sec. (kilobytes por segundo). 0 significa ilimitado.
- comment: Puedes ingresar cualquier comentario aquí (por ejemplo, para tu administración interna) aquí. Normalmente dejas este campo vacío.
- ipaccess: Ingresa aquí las direcciones IP que están permitidas para conectarse a esta cuenta FTP. * significa que cualquier dirección IP está permitida para conectarse.
- QuotaSize: Espacio de almacenamiento en MB (¡no KB, como en ULBandwidth y DLBandwidth!) que el usuario virtual puede usar en el servidor FTP. 0 significa ilimitado.
- QuotaFiles: cantidad de archivos que el usuario virtual puede guardar en el servidor FTP. 0 significa ilimitado.
8 FTP Anónimo
Si deseas crear una cuenta ftp anónima (una cuenta ftp a la que todos pueden iniciar sesión sin una contraseña), necesitas un usuario y un grupo llamados ftp. Ambos se han creado automáticamente cuando instalaste el paquete pure-ftpd, así que no necesitas crearlos manualmente. Sin embargo, el homedir de ftp es /var/ftp por defecto, pero me gustaría crear el directorio ftp anónimo en /home/ftp (los directorios ftp de los usuarios normales también están en /home, por ejemplo, /home/www.example.com). Pero, por supuesto, puedes usar el directorio /var/ftp para ftp anónimo, si lo prefieres.
Si deseas usar /home/ftp, abre /etc/passwd y cambia el homedir del usuario ftp de /var/ftp a /home/ftp (no hagas esto si deseas usar /var/ftp):
vi /etc/passwd| [...] #ftp:x:74:74:usuario del sistema para proftpd:/var/ftp:/bin/false ftp:x:74:74:usuario del sistema para proftpd:/home/ftp:/bin/false [...] |
Luego mueve /var/ftp a /home (no hagas esto si deseas usar /var/ftp):
mv /var/ftp /homeUsamos los directorios /home/ftp/incoming (que permitirán a los usuarios anónimos subir archivos) y /home/ftp/pub (desde donde los usuarios anónimos pueden descargar). Ambos directorios ya existen. Daremos al directorio /home/ftp/incoming permisos de 311 para que los usuarios puedan subir, pero no ver ni descargar ningún archivo en ese directorio. El directorio /home/ftp/pub tendrá permisos de 555 que permiten ver y descargar archivos:
chown -R ftp:nogroup /home/ftp
cd /home/ftp
chmod 311 incoming/
chmod 555 pub/
cd ../
chmod 555 ftp/(Si deseas usar /var/ftp en su lugar, reemplaza /home/ftp con /var/ftp en los comandos anteriores.)
Los usuarios anónimos podrán iniciar sesión, y se les permitirá descargar archivos de /home/ftp/pub, pero las subidas estarán limitadas a /home/ftp/incoming (y una vez que un archivo se suba a /home/ftp/incoming, no se puede leer ni descargar desde allí; el administrador del servidor debe moverlo a /home/ftp/pub primero para hacerlo disponible para otros).
Ahora tenemos que configurar PureFTPd para ftp anónimo. Abre /etc/pure-ftpd/pure-ftpd.conf y asegúrate de que tienes las siguientes configuraciones en él:
vi /etc/pure-ftpd/pure-ftpd.conf| [...] NoAnonymous no [...] AntiWarez no [...] AnonymousBandwidth 8 [...] AnonymousCantUpload no [...] |
(La configuración AnonymousBandwidth es opcional - te permite limitar los anchos de banda de subida y bajada para los usuarios anónimos. 8 significa 8 KB/sec. Usa cualquier valor que desees, o comenta la línea si no deseas limitar los anchos de banda.)
Finalmente, reiniciamos PureFTPd:
/etc/init.d/pure-ftpd restart9 Enlaces
- PureFTPd: http://www.pureftpd.org
- MySQL: http://www.mysql.com
- phpMyAdmin: http://www.phpmyadmin.net
- Mandriva: http://www.mandriva.com
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.