Contenu | Rechercher | Menus

Annonce

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.

#1 Le 21/04/2007, à 18:12

GuiGui94

Problème avec ProFTPd et MySQL

Salut,

Voilà, j'ai voulu utiliser MySQL pour gerer les comptes ftp etc graçe au tutoriel suivant : http://www.lea-linux.org/cached/index/Reseau-partfic-proftpd_mysql.html

  J'ai installer proftpd-mysql sans problème, j'ai configurer sans problème, mais lorsque j'essaye de me connecter au ftp j'ai l'erreur 421 qui est la suivante : 421 Service not available, remote server has closed connection

  Ma Configuration de ProFTPd est la suivante :

# Includes DSO modules
# ====================
Include /etc/proftpd/modules.conf

# Configuration de base
# =====================
ServerName "Mon serveur FTP"
ServerType standalone
ServerIdent on "Bienvenue sur mon ftp."
DeferWelcome on
ServerAdmin "ftp_admin@mydomain.com"

MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
AllowOverwrite on

TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200

ListOptions "-l"
Defaultroot ~

DenyFilter \*.*/

Port 21

# A configurer selon sa connection
# ================================
MaxInstances 6
MaxLoginAttempts 3
MaxClientsPerUser 10
MaxClientsPerHost 2
MaxHostsPerUser 4
MaxClients 10 "Limite a 10 utilisateurs"

# ProFTPD est excecuté avec des droits réduits
# ============================================
User nobody
Group nogroup

Umask 022
AllowStoreRestart on
AllowRetrieveRestart on

# Mod MySQL
# =========
# Les mots de passe sont crypté ds la base avec la fct ENCRYPT (MySQL)
SQLAuthTypes Crypt
SQLAuthenticate users* groups*

# Modifiez cette ligne selon l'utilisateur et le mot de passe définit plutôt
SQLConnectInfo proftpd@localhost proftpd ****

# On donne à ProFTPD le nom des colonnes de la table usertable
SQLUserInfo ftpuser userid passwd uid gid homedir shell
SQLUserWhereClause "LoginAllowed = 'true'"

# On donne à ProFTPD le nom des colonnes de la table "grouptable"
SQLGroupInfo ftpgroup groupname gid members

# Créer le repertoire home de l'utilisateur si il n'existe pas
SQLHomedirOnDemand on

# Met à jour les compteurs à chaque connection d'un utilisateur
SQLLog PASS updatecount
SQLNamedQuery updatecount UPDATE "count=count+1, accessed=now() WHERE userid='%u'" ftpuser

#Met à jour les compteurs à chaque upload ou download d'un utilisateur
SQLLog STOR,DELE modified
SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser

# Mod quota
# =========
QuotaEngine on
QuotaDirectoryTally on
QuotaDisplayUnits Mb
QuotaShowQuotas on

# Définit les requêtes SQL pour que ProFTPd recupere les infos sur les quotas

SQLNamedQuery get-quota-limit SELECT "name, quota_type, par_session, limit_type, bytes_up_limit, bytes_down_limit, bytes_transfer_limit, files_up_limit, files_down_limit, files_transfer_limit FROM ftpquotalimits WHERE name = '%{0}' AND quota_type = '%{1}'"

SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_up_total, bytes_down_total, bytes_transfer_total, files_up_total, files_down_total, files_transfer_total FROM ftpquotatotal WHERE name = '%{0}' AND quota_type = '%{1}'"

SQLNamedQuery update-quota-tally UPDATE "bytes_up_total = bytes_up_total + %{0}, bytes_down_total = bytes_down_total + %{1}, bytes_transfer_total = bytes_transfer_total + %{2}, files_up_total = files_up_total + %{3}, files_down_total = files_down_total + %{4}, files_transfer_total = files_transfer_total + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" ftpquotatotal

SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" ftpquotatotal

QuotaLimitTable sql:/get-quota-limit
QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally

RootLogin off
RequireValidShell off

# Gestion des logs
# ================
# Enregistre les requêtes SQL dans /var/log/proftpd/mysql.log
SQLLogFile /var/log/proftpd/mysql.log
# Enregistre les authentifications
LogFormat auth "%v [%P] %h %t \"%r\" %s"
ExtendedLog /var/log/proftpd/auth.log AUTH auth
# Enregistre les accès aux fichiers
LogFormat write "%h %l %u %t \"%r\" %s %b"
ExtendedLog /var/log/proftpd/access.log WRITE,READ write

# Recupère le nom à partir de l'ip de la machine de l'utilisateur ( resolution DNS )
IdentLookups on

Voilà merci

Hors ligne

#2 Le 21/04/2007, à 20:26

GuiGui94

Re : Problème avec ProFTPd et MySQL

Up sad

Hors ligne

#3 Le 24/04/2007, à 16:47

necros

Re : Problème avec ProFTPd et MySQL

moi aussi je dis up ! smile

bon j'ai le même problème que toi

Déjà, j'ai commencé par faire un essai en désactivant l'encryptage des mots de passe. Si tu lis la doc de MySQL j'ai compris que le cryptage porte sur les 8 premiers caractères du mot de passe en clair. J'ignore comment ca se passe pour des pass plus longs. Quand j'aurai trouvé comment résoudre l'erreur 421 de proftpd, je chercherai une solution avec un autr eencryptage (md5, sha1 ou sha2... peu importe )

#4 Le 26/04/2007, à 23:29

GuiGui94

Re : Problème avec ProFTPd et MySQL

Salut Necros,

J'ai trouvé le problème pour moi, maintenant j'espère que tu pourras le resoudre aussi.
Voici ce que j'ai fais :
  J'ai lu le log de MySQL du ProFTPd, il y avait une petite erreur avec le Postgres

Apr 21 14:57:36 mod_sql/4.2.1[11613]: exiting   postgres cmd_defineconnection
Apr 21 14:57:36 mod_sql/4.2.1[11613]: entering  postgres cmd_open
Apr 21 14:57:36 mod_sql/4.2.1[11613]: exiting   postgres cmd_open
Apr 21 14:57:36 mod_sql/4.2.1[11613]: unrecoverable backend error
Apr 21 14:57:36 mod_sql/4.2.1[11613]: error: 'mod_sql_postgres/4.02'
Apr 21 14:57:36 mod_sql/4.2.1[11613]: message: 'could not connect to server: Connection refused
        Is the server running on host "localhost" and accepting
        TCP/IP connections on port 5432?
'

Tu edites donc le fichier /etc/proftpd/modules.conf

La ligne :

LoadModule mod_sql_postgres.c

Tu l'as commente tongue
Et tu relances le serveur ftp smile

Hors ligne