#26 Le 07/05/2010, à 16:37
- jer297
Re : VsftpD avec utilisateurs virtuels et base de donnéesMySQL
ah bon.
j'explique mes manip:
creation fichier login transformé en bd.
creation groupadd groupftp
useradd -g groupftp -d /home/ftp ftpuser
mon fichier de conf general:
listen=yes
anonymous_enable=no
local_enable=yes
write_enable=yes
chroot_local_users=yes
guest_enable=yes
guest_username=ftpuser
user_conf_dir=/etc/vsftpd/vsftpd_user_conf
virtual_use_local_privs=yes
pour le fichier de conf individuelle:
local_root=$user
je crée le fichier du user dans /home/ftp
mkdir $user
je fais un chmod 770 et un chown ftpuser:groupftp
je me connecte a filezilla et je pe envoyer et telecharger
je n'ai mis nul part
anon_world_readable_only=NO
anon_upload_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
qu'en penses tu?
Dernière modification par jer297 (Le 07/05/2010, à 16:37)
Hors ligne
#27 Le 10/05/2010, à 09:24
- jer297
Re : VsftpD avec utilisateurs virtuels et base de donnéesMySQL
hello
commeny configurer l'option user_sub_token?
Hors ligne
#28 Le 10/05/2010, à 10:39
- MacLane45
Re : VsftpD avec utilisateurs virtuels et base de donnéesMySQL
Hello,
http://vsftpd.beasts.org/vsftpd_conf.html
user_sub_token
This option is useful is conjunction with virtual users. It is used to automatically generate a home directory for each virtual user, based on a template. For example, if the home directory of the real user specified via guest_username is /home/virtual/$USER, and user_sub_token is set to $USER, then when virtual user fred logs in, he will end up (usually chroot()'ed) in the directory /home/virtual/fred. This option also takes affect if local_root contains user_sub_token.
Default: (none)
@+
if exist $probleme ;
then Googlise au moins une demie heure; plus une demie heure de doc Ubuntu;
else A lire absolument avant de poster !
fi
Hors ligne
#29 Le 10/05/2010, à 11:04
- jer297
Re : VsftpD avec utilisateurs virtuels et base de donnéesMySQL
oui je l'ai parcouru mais j arrive pas trop a saisir.
si mon local_root=/home/ftp/toto
que dois je mettre pour user_sub_token pour que l'utilisateur soit chrooté directement dans son home toto sans faire au préalable un mkdir toto(c'est le but du user_sub_token).
Hors ligne
#30 Le 10/05/2010, à 11:21
- MacLane45
Re : VsftpD avec utilisateurs virtuels et base de donnéesMySQL
Il faut que tu mettes user_sub_token=$USER qui va remplacer le nom de l'utilisateur virtuel dans l'arborescence définie par local_root=/home/ftp, mais aussi avec l'option guest_username=/home/ftp/$USER
Donc pour toto ca donnera /home/ftp/toto
@+
if exist $probleme ;
then Googlise au moins une demie heure; plus une demie heure de doc Ubuntu;
else A lire absolument avant de poster !
fi
Hors ligne
#31 Le 10/05/2010, à 11:34
- jer297
Re : VsftpD avec utilisateurs virtuels et base de donnéesMySQL
j ai mis dans mon fichier de conf toto local_root=/home/ftp user_sub_token=toto.
je me retrouve dans le dossier ftp a voir les dossiers des autres utilisateurs.je suis un cran trop haut.
par contre pour guest_username:
guest_username
See the boolean setting guest_enable for a description of what constitutes a guest login. This setting is the real username which guest users are mapped to.
j'ai mis guest_username=ftpuser (nom de l'utilisateur systeme)
faut pas mettre de chemin non?
Hors ligne
#32 Le 10/05/2010, à 12:25
- MacLane45
Re : VsftpD avec utilisateurs virtuels et base de donnéesMySQL
Non il faut utiliser la variable $USER qui sera remplacée dynamiquement par le nom d'utilisateur saisi.
local_root=/home/ftp
guest_enable=yes
guest_username=$USER ou /home/ftp/$USER
user_sub_token=$USER
Comme ça quel que soit l'utilisateur qui se connecte, si son répertoire existe il sera chrooté dedans, sinon le répertoire sera crée, à condition que l'utilisateur existe bien dans la base de données ou au niveau du système.
@+
if exist $probleme ;
then Googlise au moins une demie heure; plus une demie heure de doc Ubuntu;
else A lire absolument avant de poster !
fi
Hors ligne
#33 Le 10/05/2010, à 12:33
- jer297
Re : VsftpD avec utilisateurs virtuels et base de donnéesMySQL
si je mets directement guest_username=$user ca fonctionnera pas.faut mettre le nom de l'utilisateur système.
je seche sur ce coup.
par contre tu me confirmes bien que l'on peut pas se connecter avec les utilisateurs locaux et virtuels en meme temps a cause du fichier vsftpd.
sous filezilla pas possible en tt cas!
Hors ligne
#34 Le 10/05/2010, à 16:23
- MacLane45
Re : VsftpD avec utilisateurs virtuels et base de donnéesMySQL
Oui je confirme, tu ne peux pas utiliser simultanément des utilisateurs viurtels et système en même temps.
Pour le paramètre guest_username il faut mettre l'arborescence complète (/home/ftp/$USER).
if exist $probleme ;
then Googlise au moins une demie heure; plus une demie heure de doc Ubuntu;
else A lire absolument avant de poster !
fi
Hors ligne
#35 Le 10/05/2010, à 17:52
- jer297
Re : VsftpD avec utilisateurs virtuels et base de donnéesMySQL
Une autre question:
j'ai crée comme dans le "tuto vsftpd avec mysql" une table users pour accueillir mes utilisateurs virtuels.
par contre je ne mets que login et mot de passe.
que dois je mettre dans mon fichier vsftpd de pam.
crypt=0 pas de crypt?
Hors ligne
#36 Le 05/08/2010, à 23:46
- ChrisGDL3
Re : VsftpD avec utilisateurs virtuels et base de donnéesMySQL
salut,
je suis actuellement entrain d'essayer de faire fonctionner mon serveur vsdtpd, j'ai suivi le tutoriel à la lettre mais je ne comprends pas le probleme de mon authentification failed ...
j'ai verifier mes tables, mes users toto, tata titi sont biens crées pourtant...
je pourrais avoir un peu d'aide svp.
TUTORIEL suivi:
http://doc.ubuntu-fr.org/vsftpd_et_pam_mysql
Hors ligne
#37 Le 06/08/2010, à 11:42
- MacLane45
Re : VsftpD avec utilisateurs virtuels et base de donnéesMySQL
Salut ChrisGDL3,
Peux tu me fournir un peu plus d'informations s'il te plait, notamment le contenu des fichiers /etc/pam.d/vsftpd et /etc/vsftpd.conf en (enlevant les login / password bien sûr).
Autement arrives tu à te logguer au serveur FTP sans encryption de mot de passe ? Si tu n'arrives pas à te connecter il faut éliminer une à une les erreurs possibles, as tu bien sauvegardé le fichier /etc/pam.d/vsftpd avant modification ? Si oui restaure le et essai de te logger sur le serveur FTP avec ton utilisateur courant sous ubuntu (le login que tu tapes à l'ouverture de ta session).
@+
if exist $probleme ;
then Googlise au moins une demie heure; plus une demie heure de doc Ubuntu;
else A lire absolument avant de poster !
fi
Hors ligne
#38 Le 09/08/2010, à 09:36
- ChrisGDL3
Re : VsftpD avec utilisateurs virtuels et base de donnéesMySQL
Salut MacLane, merci de me répondre.
Entre temps j'ai un peu bifurquer sur une autre mise en place de serveur vsftpd.
Aurais par hasard une idée sur la façon dont je pourrais gérer la limitation d'espace disque par user?
Voici le tutoriel que j'ai suivi (à la place d'une base Mysql c'est une base Berkeley).
http://www.andesi.org/logiciels/reseau/vsftpd-un-serveur-ftp-securise-et-simple?s[]
Merci de ton aide.
Hors ligne
#39 Le 09/08/2010, à 11:01
- MacLane45
Re : VsftpD avec utilisateurs virtuels et base de donnéesMySQL
Salut ChrisGDL3,
Je connais bien ce tutoriel c'est celui sur lequel je me suis basé lors de mes 1ères installations, il est très bien fait.
Concernant ta gestion d'espace disque j'entrevois 2 solutions, une simple à maintenir, l'autre un peu moins. En tout cas il ne semble pas que des options du serveur vsftpd le permette directement.
1) Gérer des filesystems avec quotas par utilisateur (pas très simple à maintenir)
2) Créer un script qui te notifie les espaces des répertoires utilisateurs et le mettre dans ta crontab ou celle d'un administrateur (plus simple à maintenir que 50 filesystems)
Tiens moi au courant.
@+
Dernière modification par MacLane45 (Le 09/08/2010, à 11:01)
if exist $probleme ;
then Googlise au moins une demie heure; plus une demie heure de doc Ubuntu;
else A lire absolument avant de poster !
fi
Hors ligne
#40 Le 11/08/2010, à 12:01
- ChrisGDL3
Re : VsftpD avec utilisateurs virtuels et base de donnéesMySQL
Il n'y a aucun moyen d'implémenter cela directement dans la configuration du vsftpd ?
pour les files sytems c'est pas terrible, vu que le nombre de user est indéfini
la seconde solution est plus pratique je trouve, parcontre pourrais tu me guider un peu sur la facon de gérer cela par scripte, avec crontab je ne l'ai jamais fait encore
Merci.
Hors ligne
#41 Le 11/08/2010, à 18:02
- Uggy
Re : VsftpD avec utilisateurs virtuels et base de donnéesMySQL
Aurais par hasard une idée sur la façon dont je pourrais gérer la limitation d'espace disque par user?
Il n'y a aucun moyen d'implémenter cela directement dans la configuration du vsftpd ?
Ce n'est pas vraiment le role d'un démon FTP de surveiller la taille des répertoires. (A la rigueur ca pourrait etre le volume transféré.. )
J'imagine que c'est pour cela qu'a ma connaissance également ce n'est pas implémenté dans vsftpd
parcontre pourrais tu me guider un peu sur la facon de gérer cela par script, avec crontab je ne l'ai jamais fait encore
Pour le script, tu peux regarder la tailles des répertoires toutes les heures et reagir en fonction
Voici un exemple simple
#!/bin/bash
LIMIT="222222"
TAILLE=`sudo du -s /var/tmp/ | awk '{print $1}'`
if [ $TAILLE -ge $LIMIT ]
then
echo "Ca depasse"
else
echo "Ca ne depasse pas"
fi
Dernière modification par Uggy (Le 11/08/2010, à 18:02)
Hors ligne
#42 Le 12/08/2010, à 13:31
- ChrisGDL3
Re : VsftpD avec utilisateurs virtuels et base de donnéesMySQL
Merci je vais essayer de m'inspirer un peu et je vous tiens au courant
Hors ligne
#43 Le 13/12/2010, à 20:19
- Totof08170
Re : VsftpD avec utilisateurs virtuels et base de donnéesMySQL
Salut, j'ai suivit le tuto pour essayer de voir si cela marche, et en meme temps pour le présenter en pratique a l'epreuve du bts.
Mais je rencontre quelque souci, voila je fait le tuto avec un ubuntu serveur 10.10 en virtualbox.
Mais la connection au serveur ftp avec les users ne marche pas, voila ce que j'obtiens :
totof@server:/etc/ssl/certs/vsftpd$ ftp-ssl localhost 21
Connected to localhost.
220 (vsFTPd 2.3.0)
Name (localhost:totof): toto
530 Please login with USER and PASS.
530 Please login with USER and PASS.
SSL not available
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
Ensuite je regarde dans les logs de mysql que j'ai activer et je vois ceci :
43 Connect vsftpd@localhost on vsftpd
43 Init DB vsftpd
43 Query SELECT PASS FROM utilisateurs WHERE NOM = 'titi'
43 Query INSERT INTO logging (msg, user, host, rhost, , time) VALUES ('AUTHENTICATION FALURE (FIRST_PASS)', 'titi', '127.0.1.1', '192.168.1.44', '1', NOW())
43 Query SELECT PASS FROM utilisateurs WHERE NOM = 'titi'
43 Query INSERT INTO logging (msg, user, host, rhost, , time) VALUES ('AUTHENTICATION SUCCESS', 'titi', '127.0.1.1', '192.168.1.44', '1', NOW())
43 Quit
Donc vsftp et mysql dialogue bien entre eux, ensuite jte regarde quand même mes tables sql et je vois ceci :
mysql> select * from utilisateurs;
+----+------+-------------------------------------------+----------+
| ID | NOM | PASS | CRYPTAGE |
+----+------+-------------------------------------------+----------+
| 1 | toto | toto | aucun |
| 2 | tata | *53C946569835FCDF430805D6A8114B14AA1CB16C | PASSWORD |
| 3 | titi | CUnowVIZ2.ZVU | ENCRYPT |
+----+------+-------------------------------------------+----------+
3 rows in set (0.01 sec)
Mais par contre dans la table logging cela ne s'inscrit pas alors que dans un code précedent on voit un insert into logging
mysql> select * from logging;
Empty set (0.00 sec)
Donc la je suis un peut bloquer, et je ne sais plus trop ou regarder j'ai penser a un problème de repertoire pour les users mais bon j'suis pas sur.
Je vous colle mes fichiers de config :
# Standard behaviour for ftpd(8).
#auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
# Note: vsftpd handles anonymous logins on its own. Do not enable pam_ftp.so.
# Standard pam includes
#@include common-account
#@include common-session
#@include common-auth
#auth required pam_shells.so
fonction pam_mysql crypt=1 OK avec la fonction ENCRYPT() de MySQL
fonction pam_mysql crypt=2 OK avec la fonction PASSWORD() de MySQL
# Minimum necesaire afin de se connecter
auth required pam_mysql.so user=vsftpd passwd=MOTDEPASSE_VSFTPD host=localhost db=vsftpd table=users usercolumn=nom passwdcolumn=mdp crypt=1
account required pam_mysql.so user=vsftpd passwd=MOTDEPASSE_VSFTPD host=localhost db=vsftpd table=users usercolumn=nom passwdcolumn=mdp crypt=1
# Connexion avec logging en base de donnees des acces
auth required pam_mysql.so verbose=1 user=vsftpd passwd=MOTDEPASSE_VSFTPD host=localhost db=vsftpd table=utilisateurs usercolumn=NOM passwdcolumn=PASS crypt=1 sqllog=true logtable=logging logmsgcolumn=msg logusercolumn=user loghostcolumn=host logrhostcolumn=rhost logtimecolumn=time
account required pam_mysql.so verbose=1 user=vsftpd passwd=MOTDEPASSE_VSFTPD host=localhost db=vsftpd table=utilisateurs usercolumn=NOM passwdcolumn=PASS crypt=1 sqllog=true logtable=logging logmsgcolumn=msg logusercolumn=user loghostcolumn=host logrhostcolumn=rhost logtimecolumn=time
$
en espèrant vous pourrez m'aidez
Hors ligne
#44 Le 14/12/2010, à 10:25
- MacLane45
Re : VsftpD avec utilisateurs virtuels et base de donnéesMySQL
Salut Totof08170
A ce que je vois tu as deux soucis différents :
1) pas de log dans ta table logging
2) pas de connexion au serveur FTP avec l'utilisateur toto
Dans ton fichier de configuration pam est ce que tu as tout ce qui est posté ? Je m'explique, il faut que tu spécifies une seule méthode d'authentification dans ce fichier.
Donc c'est ou la méthode sans logging (1er encadré ci-dessous) ou la méthode avec logging (2e encadré ci-dessous). Il ne faut que 2 lignes dans ce fichier, à savoir auth required et account required . Autrement as tu essayé de te connecter au serveur FTP
avec les utilisateurs tata et titi ? Si oui ré-essaie après avoir modifié ton fichier /etc/pam.d/vsftpd et poste les résultats.
Je n'ai pas remonté de serveur VsftpD depuis un moment mais je veux bien m'y recoller si ça peut aider.
# Minimum necesaire afin de se connecter
auth required pam_mysql.so user=vsftpd passwd=MOTDEPASSE_VSFTPD host=localhost db=vsftpd table=users usercolumn=nom passwdcolumn=mdp crypt=1
account required pam_mysql.so user=vsftpd passwd=MOTDEPASSE_VSFTPD host=localhost db=vsftpd table=users usercolumn=nom passwdcolumn=mdp crypt=1
# Connexion avec logging en base de donnees des acces
auth required pam_mysql.so verbose=1 user=vsftpd passwd=MOTDEPASSE_VSFTPD host=localhost db=vsftpd table=utilisateurs usercolumn=NOM passwdcolumn=PASS crypt=1 sqllog=true logtable=logging logmsgcolumn=msg logusercolumn=user loghostcolumn=host logrhostcolumn=rhost logtimecolumn=time
account required pam_mysql.so verbose=1 user=vsftpd passwd=MOTDEPASSE_VSFTPD host=localhost db=vsftpd table=utilisateurs usercolumn=NOM passwdcolumn=PASS crypt=1 sqllog=true logtable=logging logmsgcolumn=msg logusercolumn=user loghostcolumn=host logrhostcolumn=rhost logtimecolumn=time
Bon courage à toi
@+
Dernière modification par MacLane45 (Le 14/12/2010, à 10:26)
if exist $probleme ;
then Googlise au moins une demie heure; plus une demie heure de doc Ubuntu;
else A lire absolument avant de poster !
fi
Hors ligne
#45 Le 03/01/2011, à 22:40
- alpin38
Re : VsftpD avec utilisateurs virtuels et base de donnéesMySQL
bonsoir
pour le problème de log , j'ai trouvé plusieurs petite erreurs
le champ time de la base de donnée n'est pas au format date_time
ensuite , il faut rajouter un champs pid car dans la requête sql générée par pam-sql(je suppose) il un a un emplacement de libre et cela provoque une erreur sql
dernier point , apres avoir ajouté le champ pid , il ne faut pas oublié de rajouter "logpidcolumn=pid" dans le fichier /etc/pam.d/vsftpd au niveau des 2 lignes d'authentification
++
Fab
Hors ligne
#46 Le 08/02/2011, à 06:45
- DSPro
Re : VsftpD avec utilisateurs virtuels et base de donnéesMySQL
Bonjour,
Je suis désolé, mais je suis un peu perdu avec toutes ces configurations. Alpin, ce que tu as trouvé reviens à modifié quoi au juste ?
Cela fait des heures que j'essaie de me connecter au serveur ftp en local sans succès. À chaque fois il me dit que les login ne sont pas bon. J'ai pourtant bel et bien créer les entré dans la base de donnée avec toto, tata et titi.
Pour éviter les erreurs, j'ai seulement activer les lignes minimum de Auth required et account required, en modifiants les oublis. Cela donne :
auth required pam_mysql.so user=vsftpd passwd=[même mdp que config dans mysql] host=localhost db=vsftpd table=utilisateurs usercolumn=NOM passwdcolumn=PASS crypt=0
account required pam_mysql.so user=vsftpd passwd=[même mdp que config dans mysql] host=localhost db=vsftpd table=utilisateurs usercolumn=NOM passwdcolumn=PASS crypt=0
étant donné que crypt est à 0, normallement, toto/toto devrait fonctionner, pourtant ce n'est pas le cas. Je n'ai trouver aucun logs de mysql ou alors ils ne sont pas activer, je ne peux donc pas savoir si comme Totof, la requête est bien envoyé.
Dernière modification par DSPro (Le 08/02/2011, à 07:24)
Hors ligne