Contenu | Rechercher | Menus

Annonce

DVD, clés USB et t-shirts Ubuntu-fr disponibles sur la boutique En Vente Libre

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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)

@+

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

@+

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.

@+

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).

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).

@+

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)

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 hmm

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 sad


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 smile

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)

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