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.
# yuminstall 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.
# yuminstall 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 DATABASEpureftpd ; mysql> GRANT ALL ONpureftpd .* to 'pureftpd '@'localhost' IDENTIFIED BY '_password_ '; mysql> FLUSH PRIVILEGES; mysql> usepureftpd ; 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.
ChrootEveryoneyes MaxClientsNumber50 MaxClientsPerIP2 VerboseLogyes AnonymousOnlyno NoAnonymousyes MaxIdleTime15 MySQLConfigFile/etc/pure-ftpd/pureftpd-mysql.conf PAMAuthenticationno UnixAuthenticationno
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
MYSQLUserpureftpd MYSQLPassword_password_ MYSQLDatabasepureftpd MYSQLCryptmd5
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
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.