vsFTPd è un software versatile progettato per la personalizzazione e la facilità d'uso. Consente l'autenticazione MySQL, gli utenti locali, la limitazione delle velocità di upload / download per gli utenti, il chrooting degli utenti in directory specifiche e varie altre opzioni.
vsFTPd è anche un demone FTP molto leggero. Molti utenti possono essere supportati senza problemi di prestazioni su un VPS di dimensioni decenti, ad esempio il piano di 768 MB di Vultr.
Questa guida spiega come installare vsFTPd e configurare MySQL per l'autenticazione.
Passaggio 1: installazione dei pacchetti richiesti
Per iniziare, dovremo installare il repository EPEL (Pacchetti extra per Enterprise Linux). Esegui i seguenti comandi come utente root.
yum install epel-release
Fantastico: ora hai installato il repository EPEL.
Ora installiamo vsFTPd.
yum install vsftpd mysql mysql-server httpd php php-mysql php-mcrypt phpmyadmin -y
Avviare il server Web.
service httpd start
Passaggio 2: configurazione del server FTP
Ora che hai installato tutti i pacchetti richiesti, puoi configurare il software. Se vuoi consentire agli utenti locali, apri il tuo editor di testo preferito:
nano /etc/vsftpd/vsftpd.conf
Cambia local_enable = noin local_enable = yes.
Dato che stiamo usando MySQL per autenticare gli utenti, dobbiamo configurare MySQL.
mysql_secure_installation
Segui tutti i passaggi e assicurati di cambiare la password di root di MySQL.
Quindi, modifica il file di configurazione phpMyAdmin:
nano /etc/httpd/conf.d/phpMyAdmin.conf
Rimuovere la riga dove specifica require local, quindi salvare ed uscire.
Riavvia Apache.
service httpd restart
Creare un database e una tabella MySQL per archiviare i dati dell'utente.
mysql -uroot -pthepasswordyousetforthemysqlrootpassword
CREATE DATABASE vsftpd;
CREATE TABLE `accounts` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`username` VARCHAR( 30 ) NOT NULL ,
`pass` VARCHAR( 50 ) NOT NULL ,
UNIQUE (
`username`
)
) ENGINE = MYISAM ;
quit
Configura vsFTPd per utilizzare il database MySQL.
echo /dev/null > /etc/pam.d/vsftpd
nano /etc/pam.d/vsftpd
Ora che hai l'editor di testo aperto, incolla il seguente testo nel vsftpdfile. Assicurati di sostituire yourmysqlrootpasswordcon la password di root di MySQL.
auth required pam_mysql.so user=root passwd=yourmysqlrootpassword host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
account required pam_mysql.so user=root passwd=yourmysqlrootpassword host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
Riavvia vsFTPd eseguendo il comando seguente.
service vsftpd restart
Aggiunta di utenti
Per aggiungere un utente a vsFTPd, attenersi alla seguente procedura.
-
Aggiungi un utente al tuo sistema.
useradd bob
-
Aggiungi l'utente al tuo server MySQL.
mysql -uroot -pyourmysqlrootpassword
use vsftpd;
INSERT INTO accounts (username, pass) VALUES('bob', PASSWORD('yourpasswordforbob'));
quit;
L'utente sarà ora in grado di accedere con FTP e accedere alla propria directory home.