Salve a tutti,
Ho un problema urgentissimo da risolvere.
Ho installato VSFTPD server che utilizza utenti virtuali da un database MySQL, l'ho configurato ed ho fatto un test di accesso creando un utente con:
# ftp localhost
Connected to localhost.
220 (vsFTPd 2.0.7)
Name (localhost:root):
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
E fin qui tutto Ok mi funziona tutto.
Il problema sorge quando vado a configurare il client FTP (ho utilizzato FileZilla e WinSCP), non riesce a collegarsi al server:
Stato: Connessione a xx.xxx.xxx.xx:21...
Errore: Tempo scaduto per la connessione
Errore: Impossibile collegarsi al server
Questi sono i passaggi che ho effettuato:
1) Ho installato tutti i pacchetti necessari:
apt-get install vsftpd libpam-mysql mysql-server mysql-client phpmyadmin
2) Ho creato il database MySQL per vsftpd, con i privilegi dell'utente e la tabella che memorizza gli utenti per l'accesso FTP:
CREATE DATABASE vsftpd;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO 'vsftpd'@'localhost' IDENTIFIED BY '';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO 'vsftpd'@'localhost.localdomain' IDENTIFIED BY '';
FLUSH PRIVILEGES;
USE 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 ;
3) Ho confugurato il file /etc/vsftpd.conf:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=027
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
nopriv_user=vsftpd
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
guest_enable=YES
guest_username=vsftpd
local_root=/var/www/$USER
user_sub_token=$USER
virtual_use_local_privs=YES
4) Ho configurato il file /etc/pam.d/vsftpd in modo che utilizzi il database MySQL per autenticare gli utenti virtuali FTP:
auth required pam_mysql.so user=vsftpd passwd=password host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
account required pam_mysql.so user=vsftpd passwd=password host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
5) Ho riavviato VSFTPD:
/etc/init.d/vsftpd restart
6) Ho creato l'utente:
INSERT INTO accounts (username, pass) VALUES('testuser', PASSWORD('secret'));
7) Ho provato a connettermi tramite client FTP:
hostname: nome del mio server, porta: 21, nome utente: 'testuser', e password: 'secret'.
E qui non si connette...
Ho pensato a probabili cause:
- Firewall o qualcosa del genere che bloccano la porta 21.
- Oppure ho notato che facendo "ifconfig" non risulta l'interfaccia ethernet eth0, ma risulta questo:
# ifconfig
dummy0 Link encap:Ethernet HWaddr a2:20:19:e7:74:31
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0
TX bytes:654 (654.0 
dummy0:1 Link encap:Ethernet HWaddr a2:20:19:e7:74:31
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:4463 errors:0 dropped:0 overruns:0 frame:0
TX packets:4463 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:374576 (365.7 KiB) TX bytes:374576 (365.7 KiB)
Grazie.
Saluti.
Distro: Debian 5.0.8



Il
pingfunziona?