rjcb Posté(e) le 21 novembre 2005 Partager Posté(e) le 21 novembre 2005 Salut, Cela fait environ 10h que je pete un cable sur les utilisateurs virtuels sur vsftpd: Pour l'instant cela marche avec les users normals. J'ai trouvé deux sites: http://www.labo-linux.org/index.php?page=pas&id=512&p=2 http://www.andesi.org/index.php?node=121 Le pb c'est que ce n'est pas tt a fait la meme chose. J'ai essayé les deux mais sans succès. Donc tout d'abord voici mon vsftpd.conf: #---Paramètres de connexion--- ftpd_banner=Welcome to RJCSERVEUR FTP service. dirmessage_enable=yes #---Configuration connexion--- local_umask=022 connect_from_port_20=yes #listen_port=21 pasv_enable=yes pasv_max_port=61000 pasv_min_port=60000 #---Gestion des Clients--- #Time out pour établissement d'une connexion accept_timeout=120 #Time out pendant lequel aucune activité data_connection_timeout=240 #Time out pendant lequel choix du port connect_timeout=120 #Time out pendant lequel le client n'effectue plus de commande #idle_session_timeout=500 listen=yes one_process_model=no #---Gestion Authentification et Droits--- anonymous_enable=no anon_upload_enable=no anon_mkdir_write_enable=no anon_other_write_enable=no chown_uploads=no write_enable=no download_enable=no #userlist_enable=yes #userlist_file=/etc/vsftpd/vsftpd_user.deny chroot_local_user=yes local_enable=yes guest_enable=yes guest_username=virtual #user_config_dir=/etc/vsftpd/vsftpd_user_conf ascii_upload_enable=no ascii_download_enable=no #---Options--- xferlog_enable=yes xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES tcp_wrappers=YES ls_recurse_enable=no pam_service_name=vsftpd Ensuite, j'ai bien créé l'utilsateur virtual dans le groupe ftp et qui a pour rep perso /ftp ac les droits 777 (pr etre sur) J'ai créer le fichier .db ac: db_load -T -t hash -f /etc/vsftpd/virtual_users_list /etc/vsftpd/vsftpd_login.db Puis chmod 600 /etc/vsftpd/vsftpd_login.db Ensuite, j'ai fais ceci: Créons maintenant un fichier 'vsftpd.pam' qui dira à PAM d'utiliser notre base de données pour authentifier les utilisateurs: auth required /lib/security/pam_userdb.so db=/etc/vsftpd/login account required /lib/security/pam_userdb.so db=/etc/vsftpd/login Par contre j'ai écrasé le fichier qu'il y avait avant. Maintenant j'arrive plus a me connecter ac les utilisateurs locaux, ni ac les virtuels: [root@RJCSERVEUR ~]# ftp localhost Connected to localhost.localdomain. 220 Welcome to RJCSERVEUR FTP service. 530 Please login with USER and PASS. 530 Please login with USER and PASS. KERBEROS_V4 rejected as an authentication type Name (localhost:root): groupe 331 Please specify the password. Password: 530 Login incorrect. Login failed. Sur l'autre lien , il dise: 6. Configuration de PAM VsFTPd utilise PAM pour l'authentification des utilisateurs. Voici comment configurer PAM vim /etc/pam.d/ftp # Authentification des utilisateurs virtuels account sufficient pam_userdb.so db=/etc/vsftpd/vsftpd_login auth sufficient pam_userdb.so db=/etc/vsftpd/vsftpd_login # authentification des utilisateurs locaux auth sufficient pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed auth sufficient pam_shells.so account sufficient pam_unix.so session sufficient pam_unix.so Alors qu'y croire?? Dans mon ftpusers j'ai juste mit root Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
ggbce Posté(e) le 21 novembre 2005 Partager Posté(e) le 21 novembre 2005 Pour t'aider dans ta recherche... car moi également j'ai pété les plombs pendant 10h la semaine dernière sur vsftpd ! 1- vsftpd en mode virtuel utilise et nécessite "un" compte Linux réel. Créer un compte Linux réel avec le minimum de droits: useradd -d /home/virtual -s /sbin/nologin virtual 2- configuré vsftpd.conf pour qu'il utilise les comptes virtuels au-lieu des réels. NOTE IMPORTANTE: Un usager virtuel est considéré comme anonyme pour ses droits de base. Donc les règles comme local_umask ne sont pas pour les usagers virtuels, mais anon_umask si ! anonymous_enable=NO local_enable=YES ftpd_banner=Welcome to RJCSERVEUR FTP service. dirmessage_enable=YES anon_umask=0022 connect_from_port_20=YES listen_port=21 pasv_enable=YES pasv_max_port=61000 pasv_min_port=60000 accept_timeout=120 data_connection_timeout=240 connect_timeout=120 idle_session_timeout=500 listen=YES anon_upload_enable=NO anon_mkdir_write_enable=NO anon_other_write_enable=NO chroot_local_user=YES guest_enable=YES guest_username=virtual user_config_dir=/etc/vsftpd/vsftpd_user_conf ascii_upload_enable=no ascii_download_enable=no xferlog_enable=yes xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES tcp_wrappers=YES ls_recurse_enable=no pam_service_name=vsftpd maintenant que le fichier vsftpd.conf est configuré pour "l'ensemble" des usagers virtuels, chaque usager virtuel peut avoir des droits différents depuis un fichier à son nom qui se retrouve dans /etc/vsftpd/vsftpd_user_conf/user1, /etc/vsftpd/vsftpd_user_conf/user2, /etc/vsftpd/vsftpd_user_conf/user3, ... *** Ces droits utilisent les mêmes options que vsftpd.conf, mais pas tous les options fonctionneront (ex.: listen=YES n'est pas valide, mais writ_enable=YES sera une option valide.) 3- Configurer PAM correctement pour l'authentification des usagers virtuels. le fichier /etc/pam.d/vsftpd doit contenir ces 2 lignes uniquement: auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login 4- Créer un fichier login.txt qui contient les users (1 ligne username, 1 ligne le mot de passe, 1 ligne le username, ....) 5- Convertir le fichier texte des login en base de données Berkeley DB3 (important: il faut DB3-Utils ,et non DB4 d'installé d'après vsftpd) db_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/vsftpd_login.db et changer les droits à 600 comme tu avais fait ! Lancer le service et redémarrer le PC Les packages indispensabls pour vsftpd: vsftpd libcap db3-utils tcl Lien vers le commentaire Partager sur d’autres sites More sharing options...
rjcb Posté(e) le 22 novembre 2005 Auteur Partager Posté(e) le 22 novembre 2005 Salut, Ca c'est de la réponse parfaite. Donc en fait remarque importante: Convertir le fichier texte des login en base de données Berkeley DB3 (important: il faut DB3-Utils ,et non DB4 d'installé d'après vsftpd) Moi sur ma FC4 j'ai db4 et pad DB3 et j'arrive pas a trouver db3 pour fc4 Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
ggbce Posté(e) le 22 novembre 2005 Partager Posté(e) le 22 novembre 2005 (important: il faut DB3-Utils, et non DB4 d'installé d'après vsftpd) Même si vsftpd spécifie cette remarque... si le package vsftpd que tu utilises provient de la distribution que tu as installée logiquement les outils nécessaires sont là. Mais j'avoue que Fedora ou bien vsftpd n'ont peut être pas regardé le côté "virtual user", mais simplement les usagers réels et anonymes Par contre en suivant les étapes que je t'ai donné et en utilisant db_load de la version 4 de db-utils, le résultat pourrait quand même fonctionner, c'est à essayer. Il y a le site : http://fr2.rpmfind.net/linux/rpm.org/db3/ qui contient des RPM de db3-utils, tu pourrais les installer pour tester. Mais fait attention de ne pas écraser db4-utils. Tu peux spécifier à rpm de l'installer dans un dossier différents et en ne remplaçant pas l'autre version. http://rpmfind.net/linux/RPM/fedora/1/i386....14-2.i386.html Sur ce lien c'est un package de compatibilité pour DB4 vs. DB3... mais en bout de ligne faudrait savoir c'est quoi la différence entre générer la BD avec db_load de DB4 au-lieu de DB3. c'est peut-être simplement un paramètre de plus ou de moins à spécifier qui te permettra de faire ce que tu veux. Lien vers le commentaire Partager sur d’autres sites More sharing options...
rjcb Posté(e) le 23 novembre 2005 Auteur Partager Posté(e) le 23 novembre 2005 Salut, En fait j'arrive pas a installer db3 car il dit qu'il y a un conflit ac le package glibc. Lien vers le commentaire Partager sur d’autres sites More sharing options...
ggbce Posté(e) le 23 novembre 2005 Partager Posté(e) le 23 novembre 2005 T'es mal foutu... Je crois que tu devrais opter pour Pro-FTPD ou encore mieux Pure-FTPD qui lui utilise MySQL comme base de données (donc plus versatile et permet la gestion des comptes plus facilement enocre !) Lien vers le commentaire Partager sur d’autres sites More sharing options...
rjcb Posté(e) le 23 novembre 2005 Auteur Partager Posté(e) le 23 novembre 2005 Salut! J'avance ptit a ptit: Donc maintenant cela marche (j'avais pas le package tcl) Donc j'arrive a me connecter mais encore p'tit pb: Name (localhost:root): groupe 331 Please specify the password. Password: 500 OOPS: reading non-root config file Login failed. 421 Service not available, remote server has closed connection ftp> Et si j'enlève l'option user_config_dir=/etc/vsftpd/vsftpd_user_conf ca marche nikel, sauf que les users sont tous dans le meme répertoire. Je vois pas le pb la ? Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
ggbce Posté(e) le 23 novembre 2005 Partager Posté(e) le 23 novembre 2005 500 OOPS: reading non-root config file Login failed. Ça semble être exactement ce que le programme retourne comme erreur... Le dossier /etc/vsftpd/vsftpd_user_conf a quel droits et quel propritaire ? Et les fichiers de config pour chaque utilisateurs également ? Normallement tout devrait être à root en -rw-r--r-- pour les fichiers et drwxr-xr-x pour les dossiers. Peux-tu également envoyer une copie du contenu d'un des fichiers qui se trouve dans le dossier "vsftpd_user_conf " ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
rjcb Posté(e) le 23 novembre 2005 Auteur Partager Posté(e) le 23 novembre 2005 Merci bcp, le groupe n'était pas root c'est pour ca Lien vers le commentaire Partager sur d’autres sites More sharing options...
ggbce Posté(e) le 24 novembre 2005 Partager Posté(e) le 24 novembre 2005 De rien ! En pasant, tu dis: Et si j'enlève l'option user_config_dir=/etc/vsftpd/vsftpd_user_conf ca marche nikel, sauf que les users sont tous dans le meme répertoire. Tu es capable de donner un répertoire racine différent pour chacun de tes usagers virtuels avec VSFTPD ? Si c'est bien ça, est que tu pourrais m'envoyer comment tu fais ? Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
rjcb Posté(e) le 25 novembre 2005 Auteur Partager Posté(e) le 25 novembre 2005 Salut! Mon user virtual a le répertoire /ftp et dedans j'ai créé des dossiers pour chaque utilisateurs. Puis dans les fichiers des droits des users dans (user_config_dir) je me local_root=dossier du user. ou c'est root_local=dossier du user. Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
ggbce Posté(e) le 25 novembre 2005 Partager Posté(e) le 25 novembre 2005 Si je comprends bien tu spécifies (exemple): /etc/vsftpd/user_conf/user1 root_local=/ftp/user1/ /etc/vsftpd/user_conf/user2 root_local=/ftp/user2/ .... Ce qui est le plus étrange c'est que sur le site de VSFTPD cet option n'existe même pas (root_local=) ... Héhé... j'ai trouvé, ce n'est pas root_local, mais local_root ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
benachour Posté(e) le 25 décembre 2005 Partager Posté(e) le 25 décembre 2005 Bonjour bonjour!!!! Deja merci à vous deux!! J'aimerai savoir s'il est possible de réglé un taux de download sur le ftp. En fait j'aimerai limité ce que j'envoi à 60Ko/s. Deuxième question; j'ai essayé d'utiliser un autre port que le 21 et cela ne fonctionne pas (sauf en local), il me dit sur le client: port invalide. Alors voila j'aimerai savoir quels sont les ports valides pour le protocole FTP. Merci beaucoup! @+++ Lien vers le commentaire Partager sur d’autres sites More sharing options...
rjcb Posté(e) le 25 décembre 2005 Auteur Partager Posté(e) le 25 décembre 2005 # # --- Gestion des débit et des transfer: # # ? indiquela vitesse max. de transfer en bytes/sec pour les # # ? local users # local_max_rate=10240 # # ? indiquela vitesse max. de transfer en bytes/sec pour les # # ? anonymous # anon_max_rate=1024 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Maxime0810 Posté(e) le 26 décembre 2005 Partager Posté(e) le 26 décembre 2005 Deuxième question; j'ai essayé d'utiliser un autre port que le 21 et cela ne fonctionne pas (sauf en local), il me dit sur le client: port invalide. Alors voila j'aimerai savoir quels sont les ports valides pour le protocole FTP. Tu dois pouvoir utiliser n'importe quel port, seulement il faut que tu précises à ton client FTP sur quel port se connecter au niveau du serveur. Et pour ton probleme de truc qui marche que en local, faut peut-être voir si ton port est bien configuré au niveau de ton routeur. Lien vers le commentaire Partager sur d’autres sites More sharing options...
benachour Posté(e) le 26 décembre 2005 Partager Posté(e) le 26 décembre 2005 Ouep tout ca est réglé. Le port est ouvert, le client bien configuré mais ca ne marche pas. :-/ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Maxime0810 Posté(e) le 27 décembre 2005 Partager Posté(e) le 27 décembre 2005 Je viens de voir que le ftp "classique" n'utilise pas que le port 21, mais 2 ports en TCP et UDP ! Le 20 en TCP et UDP pour les données et le 21 en TCP et UDP pour les commandes. De plus, je crois me rappeler que ça a un rapport avec le mode PASV ou non... Donc tu peux voir de ce côté-là, peut-être qu'il te manque des ports pour faire tourner le service. Mais par contre rensigne-toi précisément avant, pas la peine de tout ouvrir et de transformer ton PC en passoire Lien vers le commentaire Partager sur d’autres sites More sharing options...
benachour Posté(e) le 28 décembre 2005 Partager Posté(e) le 28 décembre 2005 Je viens de voir que le ftp "classique" n'utilise pas que le port 21, mais 2 ports en TCP et UDP ! Le 20 en TCP et UDP pour les données et le 21 en TCP et UDP pour les commandes. De plus, je crois me rappeler que ça a un rapport avec le mode PASV ou non... Donc tu peux voir de ce côté-là, peut-être qu'il te manque des ports pour faire tourner le service. Mais par contre rensigne-toi précisément avant, pas la peine de tout ouvrir et de transformer ton PC en passoire Je vais voir ca, merci! Lien vers le commentaire Partager sur d’autres sites More sharing options...
ggbce Posté(e) le 4 janvier 2006 Partager Posté(e) le 4 janvier 2006 Je ne confirme pas à 100%, mais effectivement lorsqu'une connexion FTP est créé en utilisant le mode PORT certains logiciels serveur et/ou client ne supporte pas que le port soit différent de TCP:21. Mais si tu utilises le mode PASV tu ne devrais avoir aucune restriction sur le choix du port de connexion TCP. Tout sur VSFTPD: http://vsftpd.beasts.org/vsftpd_conf.html et des exemples de config: ftp://vsftpd.beasts.org/users/cevans/unta...-2.0.3/EXAMPLE/ ---------------------------------------------------- Pour limiter la vitesse: anon_max_rate c'est bien écrit dans l'aide de VSFTPD ! J'ai jamais testé, mais ça devrait fonctionner !!! Lien vers le commentaire Partager sur d’autres sites More sharing options...
blondiiin Posté(e) le 17 mars 2006 Partager Posté(e) le 17 mars 2006 AH mince j'ai crée un nouveau poste par erreur, je re ici... [bonjour à tous, je rencontre le même genre de problème que eux sus-cités, mon serveur me semble correctement configuré, à partir des méthodes évoquées plus haut, mais je ne parviens pas à me logger, ne serait qu'en localhost : voici mon vsftpd.conf anonymous_enable=NO local_enable=YES anon_upload_enable=NO anon_mkdir_write_enable=NO anon_other_write_enable=NO guest_enable=YES guest_username=virtual chroot_local_user=YES max_per_ip=10 max_clients=50 secure_chroot_dir=/var/run/vsftpd pam_service_name=/etc/pam.d/vsftpd/vsftpd.pam # chmod_enable=YES connect_from_port_20=NO ssl_enable=YES force_local_data_ssl=NO force_local_logins_ssl=NO ssl_tlsv1=YES ssl_sslv2=YES ssl_sslv3=YES rsa_cert_file=/etc/ssl/certs/vsftpdc.pem ftpd_banner=Bien le salut bien tres beaucoup oui oui passwd_chroot_enable=YES chroot_local_user=YES userlist_enable=YES userlist_deny=NO write_enable=NO xferlog_enable=YES listen=YES listen_port=12444 pasv_enable=YES pasv_min_port=32000 pasv_max_port=32500 userlist_enable=NO #userlist_file=/etc/vsftpd.user_list vsftpd_log_file=/var/log/vsftpd.ssl.log xferlog_enable=yes xferlog_file=/var/log/xferlog J'y suis depuis deux jours , je n'y comprends plus rien, est'ce un problème de droits sur un repertoire ou un fichier??? /home/ftp/virtual est en chmod 600 de même pour le vsftpd.pam Par contre je ne sais pas bien si le service(si c'en est un) pam, tourne correctement, et s'il suffit de lui indiquer le vsftpd.pam, pour qu'il sache ou trouver les login et mdp.... merci d'avance si quelqu'un a un indice * @ ++ Lien vers le commentaire Partager sur d’autres sites More sharing options...
ggbce Posté(e) le 11 avril 2006 Partager Posté(e) le 11 avril 2006 AH mince j'ai crée un nouveau poste par erreur, je re ici... [bonjour à tous, je rencontre le même genre de problème que eux sus-cités, mon serveur me semble correctement configuré, à partir des méthodes évoquées plus haut, mais je ne parviens pas à me logger, ne serait qu'en localhost : voici mon vsftpd.conf anonymous_enable=NO local_enable=YES anon_upload_enable=NO anon_mkdir_write_enable=NO anon_other_write_enable=NO guest_enable=YES guest_username=virtual chroot_local_user=YES max_per_ip=10 max_clients=50 secure_chroot_dir=/var/run/vsftpd pam_service_name=/etc/pam.d/vsftpd/vsftpd.pam # chmod_enable=YES connect_from_port_20=NO ssl_enable=YES force_local_data_ssl=NO force_local_logins_ssl=NO ssl_tlsv1=YES ssl_sslv2=YES ssl_sslv3=YES rsa_cert_file=/etc/ssl/certs/vsftpdc.pem ftpd_banner=Bien le salut bien tres beaucoup oui oui passwd_chroot_enable=YES chroot_local_user=YES userlist_enable=YES userlist_deny=NO write_enable=NO xferlog_enable=YES listen=YES listen_port=12444 pasv_enable=YES pasv_min_port=32000 pasv_max_port=32500 userlist_enable=NO #userlist_file=/etc/vsftpd.user_list vsftpd_log_file=/var/log/vsftpd.ssl.log xferlog_enable=yes xferlog_file=/var/log/xferlog J'y suis depuis deux jours , je n'y comprends plus rien, est'ce un problème de droits sur un repertoire ou un fichier??? /home/ftp/virtual est en chmod 600 de même pour le vsftpd.pam Par contre je ne sais pas bien si le service(si c'en est un) pam, tourne correctement, et s'il suffit de lui indiquer le vsftpd.pam, pour qu'il sache ou trouver les login et mdp.... merci d'avance si quelqu'un a un indice * @ ++ Salut, Donc d'après ta configuration tu as un serveur FTP qui fonctionnera qu'en mode PASV et répondra sur le port 12444. De plus, tu as activé le mode SSL donc tu as un serveur FTP/SSL, les requêtes provenant d'un client ne supportant pas le SSL seront donc rejetées. Je te dirais d'enlever tous les paramètres concernant le SSL et de redémarrer le deamon de VSFTPD pour essayer en mode plus "standard". Avec un client tu tapes bien une requêtes vers "ftp.monserveur.com:12444 " ? Pour ce qui est de PAM, c'est un service (agent) intégré à Linux qui s'occupe de l'authentification entre les programmes. Le fichier /etc/pam.d/vsftpd.pam contient les lignes qui diront comment PAM doit interpréter l'authentification des usagers de VSFTPD virtuels. Par défaut, il utilises une base de données db4 je crois mais le contenu de vsftpd.pam peut être modifié comme tu veux pour que l'authentification des usagers se fasse avec n'importe quel autre système (ex.: une base de données MySQL qui contient les users et mot de passe.) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.