GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo configurar Pure-FTPD con MySQL en CentOS y RedHat

FTPd puro es un servidor FTP gratuito y seguro. No proporciona campanas y silbatos inútiles, sino que se centra en la eficiencia y la facilidad de uso. Proporciona respuestas simples a las necesidades comunes, además de características únicas y útiles para usuarios personales y proveedores de alojamiento.

Esta guía práctica lo ayudará a configurar Pure-FTPD con MySQL como base de datos de usuario. También proporciona instrucciones detalladas para crear usuarios y pruebas.

Paso 1:Instalar MySQL (Omitir si ya lo tiene)

En primer lugar, debemos instalar MySQL en nuestro sistema siguiendo los siguientes pasos de comando.

# yum install mysql mysql-server

haga clic aquí para obtener instrucciones detalladas para la instalación de mysql.

Paso 2:Instalar Pure-FTPD

Use el siguiente comando para instalar pure-ftpd en su sistema Linux.

# yum install pure-ftpd

Paso 3:Crear usuario y base de datos MySQL

Después de la instalación del paquete pure-ftpd, creemos una base de datos mysql, una tabla y un usuario para almacenar la información del usuario.

# mysql -u root -p
Enter password:

mysql> CREATE DATABASE pureftpd;
mysql> GRANT ALL ON pureftpd.* to 'pureftpd'@'localhost' IDENTIFIED BY '_password_';
mysql> FLUSH PRIVILEGES;
mysql> use pureftpd;
mysql> CREATE TABLE `users` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `User` varchar(32) NOT NULL DEFAULT '',
  `Password` varchar(64) NOT NULL DEFAULT '',
  `Uid` int(3) NOT NULL DEFAULT '500',
  `Gid` int(3) NOT NULL DEFAULT '500',
  `Dir` varchar(255) NOT NULL DEFAULT '',
  `QuotaSize` int(4) NOT NULL DEFAULT '50',
  `Status` enum('0','1') NOT NULL DEFAULT '1',
  `ULBandwidth` int(2) NOT NULL DEFAULT '100',
  `DLBandwidth` int(2) NOT NULL DEFAULT '100',
  `Date` date NOT NULL DEFAULT '0000-00-00',
  `LastModif` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`ID`),
  UNIQUE KEY `User` (`User`),
  KEY `Uid` (`Uid`),
  KEY `Gid` (`Gid`),
  KEY `Dir` (`Dir`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

mysql> quit

Paso 4:Configurar Pure-FTPD

Vamos a configurar pure-ftpd para almacenar los detalles de inicio de sesión del usuario en la base de datos mysql. Primero edite el archivo de configuración principal pure-ftpd

# vim /etc/pure-ftpd/pure-ftpd.conf

y realice los siguientes cambios.

   ChrootEveryone              yes
   MaxClientsNumber            50
   MaxClientsPerIP             2
   VerboseLog                  yes
   AnonymousOnly               no
   NoAnonymous                 yes
   MaxIdleTime                 15
   MySQLConfigFile             /etc/pure-ftpd/pureftpd-mysql.conf
   PAMAuthentication    	no
   UnixAuthentication     	no

Después de hacer cambios en la configuración de pure-ftpd, edite el archivo de configuración mysql de pure-ftpd

# vim /etc/pure-ftpd/pureftpd-mysql.conf

y actualizar las siguientes variables

   MYSQLUser       pureftpd
   MYSQLPassword   _password_
   MYSQLDatabase   pureftpd
   MYSQLCrypt      md5

Paso 5:Pruebe la configuración de FTPD puro

En este paso, hemos completado la configuración de ftpd puro. Ahora debemos probar nuestra configuración creando nuestra primera cuenta de ftp. Para probar nuestra configuración, primero debemos crear un usuario en el sistema Linux. Después de eso, usaremos el UID y el GID de ese usuario para crear nuestras cuentas ftp virtuales.

Crear cuenta de usuario:

# useradd demouser1
# passwd demouser1

Obtener UID y GID de esta cuenta:

# cat /etc/passwd | grep demouser1
demouser1:x:504:505::/home/demouser1:/bin/bash

Según el resultado anterior, encontramos que el UID de usres es 504 y el GID es 505.

Crear cuenta FTP
Inicie sesión en el servidor mysql o acceda a través de phpMyAdmin y cree su primera cuenta. Para este tutorial, estoy usando la línea de comandos.

# mysql -u root -p
Enter password:

mysql> INSERT INTO `users` (`User`, `Password`, `Uid`, `Gid`, `Dir`, `QuotaSize`,
`Status`, `ULBandwidth`, `DLBandwidth`, `Date`, `LastModif`)
VALUES ('ftpuser1', md5('_password_'), '504', '505', '/home/demouser1',
'20', 2, '10', '10', now(), '');
mysql> quit

Según la consulta anterior, hemos creado con éxito nuestra primera cuenta ftp ftpuser1 con contraseña _password_ ,

Conéctese al servidor FTP utilizando una cuenta ftp recién creada e intente cargar un archivo de prueba.

C:> ftp ftp.tecadmin.net

Connected to ftp.tecadmin.net.
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 21:39. Server port: 21.
220-This is a private system - No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
User (ftp.tecadmin.net:(none)): ftpuser1
331 User ftpuser1 OK. Password required
Password:
230 OK. Current restricted directory is /
ftp> put test.txt
200 PORT command successful
150 Connecting to port 57216
226-File successfully transferred
226 0.004 seconds (measured here), 0.65 Mbytes per second
ftp: 2593 bytes sent in 0.00Seconds 2593.00Kbytes/sec.
ftp> bye
221-Goodbye. You uploaded 3 and downloaded 0 kbytes.
221 Logout.
C:>

Según los resultados anteriores, nos hemos conectado con éxito al usuario ftp y subido un archivo de prueba. Revisemos los permisos de esos archivos en el servidor.

# ls -l /home/demouser1/test.txt
-rw-r--r-- 1 demouser1 demouser1 2525 Dec  4 21:39 /home/demouser1/test.txt

Ahora puede ver que los archivos obtienen los permisos de ese usuario cuyo UID, GID hemos usado para esas cuentas FTP.


Cent OS
  1. Cómo configurar LogAnalyzer con Rsyslog y MySQL

  2. Cómo configurar Opencart en Rocky Linux/Centos 8 con Apache, PHP, Mysql (LAMP Stack)

  3. Cómo reemplazar MySQL con MariaDB en CentOS 6

  4. Cómo configurar la replicación de MySQL en CentOS

  5. Cómo instalar MySQL 5.6 en CentOS 6.x

Cómo configurar Kubernetes 1.5 con kubeadm en CentOS

Cómo configurar Percona Cluster con HAproxy Loadbalancer en CentOS 7

Cómo configurar MariaDB Galera Cluster con HAproxy en CentOS 7

Cómo configurar MySQL con Docker en Linux

DRBD con MySQL Centos 8

Cómo configurar la replicación de MySQL en RHEL/Centos