Centos 7 – Installer VSFTPD avec authentification MySQL
janvier 2, 2017 4:44 Laissez vos commentairesBonjour à tous
Dans cet article nous allons configurer l’authentification des utilisateurs FTP à partir d’une base de donnée MYSQL. Si vous avez suivi l’article
Centos – Installer un serveur FTP sftpd, vous avez déjà un serveur vsftpd opérationnel.
Sous centos il faut commencer par télécharger la librairie pam_mysql, non installable via yum :
https://github.com/anthcourtney/pam-mysql/blob/master/pam_mysql-0.7-0.16.rc1.el7.centos.x86_64.rpm
Installation de librairie :
rpm -Uvh pam_mysql-0.7-0.16.rc1.el7.centos.x86_64.rpm
Vérification :
[root@tuto tmp]# ls -al /lib64/security/pam_m* -rwxr-xr-x. 1 root root 11200 18 août 2015 /lib64/security/pam_mail.so -rwxr-xr-x. 1 root root 11176 18 août 2015 /lib64/security/pam_mkhomedir.so -rwxr-xr-x. 1 root root 7080 18 août 2015 /lib64/security/pam_motd.so -rwxr-xr-x 1 root root 46616 8 janv. 2015 /lib64/security/pam_mysql.so
Création de la table utilisateurs :
CREATE TABLE `vsftpd`.`users` ( `id_user` int(11) NOT NULL auto_increment, `login` varchar(50) NOT NULL, `password` varchar(100) NOT NULL, `active` int(11) NOT NULL, PRIMARY KEY (`id_user`) ) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
Insertion de l’utilisateur virtuel user1 dans la base :
INSERT INTO users (login, password, active) VALUES('user1', md5('test'),1 Query OK, 1 row affected (0.00 sec)
Configuration de PAM :
nano /etc/pam.d/vsftpd
#%PAM-1.0 auth sufficient pam_unix.so account sufficient pam_unix.so auth required /lib64/security/pam_mysql.so verbose=0 user=dbuser passwd=monmotdepasse host=127.0.0.1 db=vsftpd table=users usercolumn=login passwdcolumn=password crypt=3 where=users.active=1 account required /lib64/security/pam_mysql.so verbose=0 user=dbuser passwd=monmotdepasse host=127.0.0.1 db=vsftpd table=users usercolumn=login passwdcolumn=password crypt=3 where=users.active=1
Exemple de fichier vsftpd.conf
listen=YES listen_port=21 # anonymous user ##################### anonymous_enable=NO anon_upload_enable=NO anon_upload_enable=YES anon_mkdir_write_enable=YES # # # general user ##################### local_enable=YES local_umask= 022 write_enable=YES chroot_local_user=YES allow_writeable_chroot=YES # virtual user ##################### guest_enable=YES guest_username=vsftpd nopriv_user=vsftpd virtual_use_local_privs=YES user_sub_token=$USER local_root=/home//ftp/$USER #user_config_dir=/etc/vsftpd/vsftpd_conf_users #change le dossier root pour des utilisateurs specifiques hide_ids=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES ########## LOGS ################### dual_log_enable=YES xferlog_enable=YES xferlog_file=/var/log/vsftpd.xfer.log log_ftp_protocol=YES vsftpd_log_file=/var/log/vsftpd.log
test avec client ftp linux
yum install ftp ftp localhost
Identifiez vous avec l’utilisateur créé précédemment en base de donnée et normalement vous devriez atterrir dans votre dossier racine /home/ftp/user1
A++
Classés dans :CentOS
Cet article a été écrit par admin