- 25 Luglio 2008
- 961
- 0
- Miglior risposta
- 0
In questa guida vi spiegherò come configurare proFTPd in modo che l’autenticazione venga eseguita tramite MySQL, così facendo, è possibile creare utenti virtuali senza creare account sul sistema.
Prima di tutto, se non lo avete ancora fatto dovete installare proFTPd e MySQL.
Successivamente accediamo tramite SSH al server.
Installiamo il pacchetto proftpd-mysql:
Creiamo il database:
Ora creiamo le tabelle, entriamo nel database proftpd e lanciamo questa query:
A questo punto dobbaimo riavviare proFTPd per applicare le modifiche.
Eseguire i seguenti comandi dal terminale o tramite SSH:
In questo passo viene spiegato come creare un utente. Prima di tutto logghiamoci in phpMyAdmin oppure usufruiamo di mysqladmin, entriamo nel database proftpd e lanciamo la seguente query:
Permettere l'accesso solo alla propria home
Molti si chiedono, come permettere a chiunque abbia accesso all'FTP di visualizzare solo la propria home, e non di girare e scaricare file da tutto il filesystem. Per ovviare a ciò dobbiamo aprire il file di configurazione di proFTPd (se utilizzate l'SSH potete usare l'applicazione nano).
Fonte 1: Guida completamente mia!![Slight Smile :emoji_slight_smile: :emoji_slight_smile:](/forum/styles/default/xenforo/smilies.emoji/people/slight_smile.emoji.svg)
Fonte 2:
Prima di tutto, se non lo avete ancora fatto dovete installare proFTPd e MySQL.
Successivamente accediamo tramite SSH al server.
Installiamo il pacchetto proftpd-mysql:
sudo apt-get install proftpd-mysql
Ora dovremmo configurare un utente e database MySQL usufruendo dell’account root. Vi consiglio di accedere tramite phpMyAdmin:
Creiamo il database:
CREATE DATABASE proftpd;
Creiamo l’utente e diamoli i privilegi sul database:
GRANT CREATE,DROP,SELECT,DELETE,UPDATE,ALTER ON proftpd.* TO proftpd@localhost IDENTIFIED BY ‘password’;
Sostituire password con una password da assegnare all’account proftpd.
Ora creiamo le tabelle, entriamo nel database proftpd e lanciamo questa query:
CREATE TABLE groups (
groupname varchar(30) NOT NULL default ”,
gid int(11) NOT NULL default '0',
members varchar(255) default NULL
) TYPE=MyISAM;
CREATE TABLE users (
userid varchar(30) NOT NULL default ”,
passwd varchar(30) NOT NULL default ”,
uid int(11) default NULL,
gid int(11) default NULL,
homedir varchar(255) default NULL,
shell varchar(255) default NULL,
UNIQUE KEY uid (uid),
UNIQUE KEY userid (userid)
) TYPE=MyISAM
Ora dovremmo configurare proFTPd. Apriamo il file di configurazione /etc/proftpd/proftpd.conf ed inseriamo alla fine di tutto il codice:groupname varchar(30) NOT NULL default ”,
gid int(11) NOT NULL default '0',
members varchar(255) default NULL
) TYPE=MyISAM;
CREATE TABLE users (
userid varchar(30) NOT NULL default ”,
passwd varchar(30) NOT NULL default ”,
uid int(11) default NULL,
gid int(11) default NULL,
homedir varchar(255) default NULL,
shell varchar(255) default NULL,
UNIQUE KEY uid (uid),
UNIQUE KEY userid (userid)
) TYPE=MyISAM
AuthOrder mod_sql.c mod_auth_unix.c
SQLAuthenticate on
SQLConnectInfo proftpd@localhost proftpd password
SQLAuthTypes Crypt Backend Plaintext
SQLNegativeCache on
RequireValidShell off
SQLLogFile /var/log/proftpd/mysql.log
Sostituire password con la password impostata per l’utente proftpd.SQLAuthenticate on
SQLConnectInfo proftpd@localhost proftpd password
SQLAuthTypes Crypt Backend Plaintext
SQLNegativeCache on
RequireValidShell off
SQLLogFile /var/log/proftpd/mysql.log
A questo punto dobbaimo riavviare proFTPd per applicare le modifiche.
/etc/init.d/proftpd reload
Ora prima di creare gli utenti dobbiamo effettuare l’ultimo passo.
Eseguire i seguenti comandi dal terminale o tramite SSH:
cd /home/ftp
sudo mkdir ./users
Creare un utentesudo mkdir ./users
In questo passo viene spiegato come creare un utente. Prima di tutto logghiamoci in phpMyAdmin oppure usufruiamo di mysqladmin, entriamo nel database proftpd e lanciamo la seguente query:
INSERT INTO users VALUES ('utenteprova', 'passwordprova', 1004, 65534, '/home/ftp/users/utenteprova', '/bin/false');
Prima di effettuare l’accesso tramite proFPTd dovremmo creare la home per l’utente eseguendo i seguenti comandi dal terminale o SSH:
cd /home/ftp/users
sudo mkdir ./utenteprova
sudo chmod 777 ./utenteprova
Ora l’utente è stato creato è potete accedere tramite il vostro client FTP.sudo mkdir ./utenteprova
sudo chmod 777 ./utenteprova
Permettere l'accesso solo alla propria home
Molti si chiedono, come permettere a chiunque abbia accesso all'FTP di visualizzare solo la propria home, e non di girare e scaricare file da tutto il filesystem. Per ovviare a ciò dobbiamo aprire il file di configurazione di proFTPd (se utilizzate l'SSH potete usare l'applicazione nano).
/etc/proftpd/proftpd.conf
Poi trovare:
# DefaultRoot ~
E sostituirlo con:
DefaultRoot ~
Cioè semplicemente togliendo il commento.
Fonte 1: Guida completamente mia!
Fonte 2:
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
Ultima modifica: