GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come configurare Pure-FTPD con MySQL su CentOS e RedHat

FTPd puro è un server FTP gratuito e sicuro. Non fornisce campanelli e fischietti inutili, ma si concentra sull'efficienza e sulla facilità d'uso. Fornisce risposte semplici a esigenze comuni, oltre a funzioni utili uniche per utenti personali e provider di hosting.

Questa guida ti aiuterà a configurare Pure-FTPD con MySQL come database utente. Fornisce inoltre istruzioni dettagliate per creare utenti e testare.

Passaggio 1:installa MySQL (salta se già disponibile)

Per prima cosa dobbiamo installare MySQL sul nostro sistema usando i seguenti passaggi di comando.

# yum install mysql mysql-server

clicca qui per istruzioni dettagliate per l'installazione di MySQL.

Passaggio 2:installa Pure-FTPD

Usa il seguente comando per installare pure-ftpd sul tuo sistema Linux.

# yum install pure-ftpd

Fase 3:crea un utente e un database MySQL

Dopo l'installazione del pacchetto pure-ftpd, creiamo un database mysql, una tabella e un utente per memorizzare le informazioni sull'utente.

# 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

Fase 4:Configura Pure-FTPD

Configureremo pure-ftpd per memorizzare i dettagli di accesso dell'utente nel database mysql. Prima modifica il file di configurazione principale pure-ftpd

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

e apportare le seguenti modifiche.

   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

Dopo aver apportato modifiche alla configurazione pure-ftpd, modifica il file di configurazione mysql pure-ftpd

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

e aggiorna le seguenti variabili

   MYSQLUser       pureftpd
   MYSQLPassword   _password_
   MYSQLDatabase   pureftpd
   MYSQLCrypt      md5

Fase 5:prova l'impostazione Pure-FTPD

A questo punto abbiamo completato la configurazione ftpd pura, ora dobbiamo testare la nostra configurazione creando il nostro primo account ftp. Per testare la nostra configurazione, dobbiamo prima creare un utente nel sistema Linux. Successivamente utilizzeremo l'UID e il GID degli utenti per creare i nostri account ftp virtuali.

Crea account utente:

# useradd demouser1
# passwd demouser1

Ottieni UID e GID di questo account:

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

Come per l'output sopra, abbiamo scoperto che usres UID è 504 e GID è 505.

Crea un account FTP
Consente di accedere al server mysql o accedere tramite phpMyAdmin e creare il tuo primo account. Per questo tutorial, sto usando la riga di comando.

# 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

Come da query precedente, abbiamo creato con successo il nostro primo account ftp ftpuser1 con password _password_ ,

Collegati al server FTP utilizzando l'account ftp appena creato e prova a caricare un file di prova.

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:>

Come per i risultati sopra ci siamo collegati con successo all'utente ftp e abbiamo caricato un file di prova. Controlliamo i permessi di quei file sul server.

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

Ora puoi vedere che i file ottengono i permessi di quell'utente quale UID, GID che abbiamo usato per quegli account FTP.


Cent OS
  1. Come configurare LogAnalyzer con Rsyslog e MySQL

  2. Come configurare Opencart su Rocky Linux/Centos 8 con Apache, PHP, Mysql (stack LAMP)

  3. Come sostituire MySQL con MariaDB su CentOS 6

  4. Come configurare la replica MySQL su CentOS

  5. Come installare MySQL 5.6 su CentOS 6.x

Come configurare Kubernetes 1.5 con kubeadm su CentOS

Come configurare il cluster Percona con HAproxy Loadbalancer su CentOS 7

Come configurare MariaDB Galera Cluster con HAproxy su CentOS 7

Come configurare MySQL con Docker in Linux

DRBD con MySQL Centos 8

Come impostare la replica MySQL in RHEL/Centos