Pure FTPd è un server FTP sicuro e open source. È uno dei server FTP ampiamente utilizzati per la sua sicurezza, facilità d'uso e capacità di connettersi a un database.
In questo articolo installeremo e configureremo FTP su CentOS 8.
Ottieni repository EPEL per CentOS 8:
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Installa FTPd usando il seguente comando:
dnf install pure-ftpd
Ora crea un utente e un gruppo per il server FTPd.
nano /etc/pure-ftpd/pure-ftpd.conf
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
Ora modificheremo il file di configurazione mysql pure-ftpd.
nano /etc/pure-ftpd/pureftpd-mysql.conf
Decommenta le seguenti righe:
# Optional : MySQL server name or IP. Don't define this for unix sockets.
MYSQLServer 127.0.0.1
# Optional : MySQL port. Don't define this if a local unix socket is used.
MYSQLPort 3306
aggiorna i seguenti valori:
MYSQLUser pureftpd
MYSQLPassword password
MYSQLDatabase pureftpd
MYSQLCrypt md5
Consenti servizio FTP tramite firewall.
firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --reload
Abilita e avvia il servizio FTPd puro.
systemctl enable pure-ftpd.service
systemctl start pure-ftpd.service
systemctl status pure-ftpd.service
Dopo l'installazione, lo configureremo per mariaDB.
Installa MariaDB usando il seguente comando:
dnf install @mariadb
Avvia e abilita il servizio MariaDB.
systemctl enable --now mariadb
systemctl status mariadb
Ora imposteremo la password di root per MariaDB e altri controlli di sicurezza perché non è stata impostata alcuna password di root, utilizzare il comando seguente:
mysql_secure_installation
Un prompt ti chiederà di impostare la password di root per MariaDB. Dopo averlo fatto, lo script ti chiederà di rimuovere l'utente anonimo, limitare l'accesso dell'utente root e rimuovere il database di test. Dovresti rispondere "Y" (sì) a tutte le opzioni.
Ora accederemo a mariaDB e creeremo database, tabelle e utenti e memorizzeremo le informazioni di conseguenza.
mysql -u root -p
Ora inserisci i seguenti comandi:
CREATE DATABASE pureftpd;
GRANT ALL ON pureftpd.* to 'pureftpd'@'localhost' IDENTIFIED BY '_password_';
FLUSH PRIVILEGES;
use pureftpd;
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;
quit;
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.
useradd ftp1
passwd ftp1
Ora esegui il seguente comando per ottenere UID e GID di questo account.
cat /etc/passwd | grep ftp1
Secondo l'output del comando precedente, UID e GID di questo utente è 1000.
Ora accedi a mariaDB e crea il tuo account.
mysql -u root -p
Esegui i seguenti comandi:
use pureftpd;
INSERT INTO `users` (`User`, `Password`, `Uid`, `Gid`, `Dir`, `QuotaSize`,
`Status`, `ULBandwidth`, `DLBandwidth`, `Date`, `LastModif`)
VALUES ('ftpuser1', md5('_password_'), '1000', '1000', '/home/ftp1',
'20', 2, '10', '10', now(), '');
quit
Ora puoi accedere all'account FTP.
Ora puoi creare file e directory usando FTP. Creeremo una directory denominata test usando FTPd puro.
Ora puoi utilizzare Pure FTPd secondo le tue necessità.