Problème de config ProFTPd

Résolu/Fermé
Utilisateur anonyme - Modifié par nasmak le 6/04/2011 à 19:19
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 6 avril 2011 à 20:24
Bonjour,


Récemment, j'ai fait l'acquisition d'un serveur dédié, j'ai installé mon site et beaucoup d'autre chose, cependant... un problème persiste.... Le FTP ^^

En effet, malgrés tout les tutoriels sur Internet, j'ai eu d'abord, un problème de module (résolu) et maintenant un problème de config ...

Voici ma config:
Note : Je suis sur Ubuntu 10.04.2 LTS
Note2: le figuré ThePASSWORD est en réalité mon Pass de ma base de donnée ProFTPd ;)
/etc/proftpd/proftpd.conf

#   
# /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.   
# To really apply changes reload proftpd after modifications.   
#    

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

# Set off to disable IPv6 support which is annoying on IPv4 only boxes.   
UseIPv6    on   
# If set on you can experience a longer connection delay in many cases.   
IdentLookups   off   

ServerName   "FTP"   
ServerType   standalone   
DeferWelcome   off   

MultilineRFC2228  on   
DefaultServer   on   
ShowSymlinks   on   

TimeoutNoTransfer  600   
TimeoutStalled   600   
TimeoutIdle   1200   

DisplayLogin                    welcome.msg   
DisplayChdir                .message true   
ListOptions                 "-l"   

DenyFilter   \*.*/   

# Use this to jail all users in their homes    
DefaultRoot            ~   

# Users require a valid shell listed in /etc/shells to login.   
# Use this directive to release that constrain.   
RequireValidShell  off   

# Port 21 is the standard FTP port.   
Port    21   

# In some cases you have to specify passive ports range to by-pass   
# firewall limitations. Ephemeral ports can be used for that, but   
# feel free to use a more narrow range.   
PassivePorts                  49152 65534   

# If your host was NATted, this option is useful in order to   
# allow passive tranfers to work. You have to use your public   
# address and opening the passive ports used on your firewall as well.   
# MasqueradeAddress  1.2.3.4   

# This is useful for masquerading address with dynamic IPs:   
# refresh any configured MasqueradeAddress directives every 8 hours   
#<IfModule mod_dynmasq.c>   
# DynMasqRefresh 28800   
#</IfModule>   

# To prevent DoS attacks, set the maximum number of child processes   
# to 30.  If you need to allow more than 30 concurrent connections   
# at once, simply increase this value.  Note that this ONLY works   
# in standalone mode, in inetd mode you should use an inetd server   
# that allows you to limit maximum number of processes per service   
# (such as xinetd)   
MaxInstances   30   

# Set the user and group that the server normally runs at.   
User    proftpd   
Group    nogroup   

# Umask 022 is a good standard umask to prevent new files and dirs   
# (second parm) from being group and world writable.   
Umask    022  022   
# Normally, we want files to be overwriteable.   
AllowOverwrite   on   

# Uncomment this if you are using NIS or LDAP via NSS to retrieve passwords:   
# PersistentPasswd  off   

# This is required to use both PAM-based authentication and local passwords   
# AuthOrder   mod_auth_pam.c* mod_auth_unix.c   

# Be warned: use of this directive impacts CPU average load!   
# Uncomment this if you like to see progress and transfer rate with ftpwho   
# in downloads. That is not needed for uploads rates.   
#   
# UseSendFile   off   

TransferLog /var/log/proftpd/xferlog   
SystemLog   /var/log/proftpd/proftpd.log   

<IfModule mod_quotatab.c>   
QuotaEngine on   
</IfModule>   

<IfModule mod_ratio.c>   
Ratios off   
</IfModule>   


# Delay engine reduces impact of the so-called Timing Attack described in   
# http://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02   
# It is on by default.    
<IfModule mod_delay.c>   
DelayEngine on   
</IfModule>   

<IfModule mod_ctrls.c>   
ControlsEngine        off   
ControlsMaxClients    2   
ControlsLog           /var/log/proftpd/controls.log   
ControlsInterval      5   
ControlsSocket        /var/run/proftpd/proftpd.sock   
</IfModule>   

<IfModule mod_ctrls_admin.c>   
AdminControlsEngine off   
</IfModule>   

<IfModule mod_sql.c>   
 SQLBackend            mysql   
</IfModule>   

#   
# Alternative authentication frameworks   
#   
#Include /etc/proftpd/ldap.conf   
#Include /etc/proftpd/sql.conf   

#   
# This is used for FTPS connections   
#   
#Include /etc/proftpd/tls.conf   

# A basic anonymous configuration, no upload directories.   

# <Anonymous ~ftp>   
#   User    ftp   
#   Group    nogroup   
#   # We want clients to be able to login with "anonymous" as well as "ftp"   
#   UserAlias   anonymous ftp   
#   # Cosmetic changes, all files belongs to ftp user   
#   DirFakeUser on ftp   
#   DirFakeGroup on ftp   
#    
#   RequireValidShell  off   
#    
#   # Limit the maximum number of anonymous logins   
#   MaxClients   10   
#    
#   # We want 'welcome.msg' displayed at login, and '.message' displayed   
#   # in each newly chdired directory.   
#   DisplayLogin   welcome.msg   
#   DisplayChdir  .message   
#    
#   # Limit WRITE everywhere in the anonymous chroot   
#   <Directory *>   
#     <Limit WRITE>   
#       DenyAll   
#     </Limit>   
#   </Directory>   
#    
#   # Uncomment this if you're brave.   
#   # <Directory incoming>   
#   #   # Umask 022 is a good standard umask to prevent new files and dirs   
#   #   # (second parm) from being group and world writable.   
#   #   Umask    022  022   
#   #            <Limit READ WRITE>   
#   #            DenyAll   
#   #            </Limit>   
#   #            <Limit STOR>   
#   #            AllowAll   
#   #            </Limit>   
#   # </Directory>   
#    
# </Anonymous>   


# Mod MySQL   
# =========   
# Les mots de passe sont cryptes dans la base avec la fonction ENCRYPT (MySQL)   
SQLAuthTypes Crypt   
SQLAuthenticate users* groups*   

# Modifiez cette ligne selon l'utilisateur et le mot de passe definit plutot   
SQLConnectInfo proftpd@localhost proftpd ThePASSWORD   

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

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

# Creer le repertoire home de l'utilisateur si il n'existe pas   
CreateHome on   

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

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

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

# Definit les requetes 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   

# Gestion des logs   
# ================   
# Enregistre les requetes 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 acces aux fichiers   
LogFormat write "%h %l %u %t \"%r\" %s %b"   
ExtendedLog /var/log/proftpd/access.log WRITE,READ write   


Voici ce qu'il me marque quand j'ai relancé mon serveur FTP:


* Stopping ftp server proftpd [ OK ]
* Starting ftp server proftpd
- warning: handling possibly truncated configuration data at line 231 of '/etc/proftpd/proftpd.conf'
[ OK ]


Malgré tout mes efforts, je n'ai pu trouver la source de mon problème...
J'espère que la communauté CommentCaMarche m'aidera a trouver la solution :D

Amicalement
nasmak

3 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 419
6 avril 2011 à 09:54
Salut,

Je suppose que tu as édité ton fichier sous Windows (avec un éditeur Windows) et que tu as ensuite transféré ton fichier sur ton serveur ?

Affiches la sortie de :
cat -A /etc/proftpd/proftpd.conf
Pour afficher les caractères non-imprimables.

Si les lignes finissent par "^M$", il te suffira juste de convertir ton fichier au format Unix...
1
Utilisateur anonyme
6 avril 2011 à 15:15
Hello

Merci de ta réponse, en effet les lignes finissent pas les caractères non imprimables... "^M$" (Je savais que Windaube au lieu de Windows ^^')

Mais je pensais pas que Notepad++ serait pas affecté par de tels problème... J'ai donc convertit les formats au format unix, avec la commande:

tr -d '\015' < win-format.txt > unix-format.txt


Tout a bien été convertit (j'ai fait tout les fichiers .conf au cas où ^^) J'ai vérifié par la suite que tout avait bien été convertit, et c'était bon.


Cependant il me marque toujours l'erreur suivante :( :

 - warning: handling possibly truncated configuration data at line 231 of '/etc/proftpd/proftpd.conf'


Mon problème n'est donc pas malheureusement résolu :/

Amicalement
Nasmak
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 419
6 avril 2011 à 16:12
Tu peux re-afficher ton fichier avec "cat -A" s'il te plaît ?
0
Merci encore de ta réponse,


# /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.$ 
# To really apply changes reload proftpd after modifications.$ 
# $ 
$ 
# Includes DSO modules$ 
Include /etc/proftpd/modules.conf$ 
$ 
# Set off to disable IPv6 support which is annoying on IPv4 only boxes.$ 
UseIPv6^I^I^I^Ion$ 
# If set on you can experience a longer connection delay in many cases.$ 
IdentLookups^I^I^Ioff$ 
$ 
ServerName^I^I^I"FTP"$ 
ServerType^I^I^Istandalone$ 
DeferWelcome^I^I^Ioff$ 
$ 
MultilineRFC2228^I^Ion$ 
DefaultServer^I^I^Ion$ 
ShowSymlinks^I^I^Ion$ 
$ 
TimeoutNoTransfer^I^I600$ 
TimeoutStalled^I^I^I600$ 
TimeoutIdle^I^I^I1200$ 
$ 
DisplayLogin                    welcome.msg$ 
DisplayChdir               ^I.message true$ 
ListOptions                ^I"-l"$ 
$ 
DenyFilter^I^I^I\*.*/$ 
$ 
# Use this to jail all users in their homes $ 
DefaultRoot            ~$ 
$ 
# Users require a valid shell listed in /etc/shells to login.$ 
# Use this directive to release that constrain.$ 
RequireValidShell^I^Ioff$ 
$ 
# Port 21 is the standard FTP port.$ 
Port^I^I^I^I21$ 
$ 
# In some cases you have to specify passive ports range to by-pass$ 
# firewall limitations. Ephemeral ports can be used for that, but$ 
# feel free to use a more narrow range.$ 
PassivePorts                  49152 65534$ 
$ 
# If your host was NATted, this option is useful in order to$ 
# allow passive tranfers to work. You have to use your public$ 
# address and opening the passive ports used on your firewall as well.$ 
# MasqueradeAddress^I^I1.2.3.4$ 
$ 
# This is useful for masquerading address with dynamic IPs:$ 
# refresh any configured MasqueradeAddress directives every 8 hours$ 
#<IfModule mod_dynmasq.c>$ 
# DynMasqRefresh 28800$ 
#</IfModule>$ 
$ 
# To prevent DoS attacks, set the maximum number of child processes$ 
# to 30.  If you need to allow more than 30 concurrent connections$ 
# at once, simply increase this value.  Note that this ONLY works$ 
# in standalone mode, in inetd mode you should use an inetd server$ 
# that allows you to limit maximum number of processes per service$ 
# (such as xinetd)$ 
MaxInstances^I^I^I30$ 
$ 
# Set the user and group that the server normally runs at.$ 
User^I^I^I^Iproftpd$ 
Group^I^I^I^Inogroup$ 
$ 
# Umask 022 is a good standard umask to prevent new files and dirs$ 
# (second parm) from being group and world writable.$ 
Umask^I^I^I^I022  022$ 
# Normally, we want files to be overwriteable.$ 
AllowOverwrite^I^I^Ion$ 
$ 
# Uncomment this if you are using NIS or LDAP via NSS to retrieve passwords:$ 
# PersistentPasswd^I^Ioff$ 
$ 
# This is required to use both PAM-based authentication and local passwords$ 
# AuthOrder^I^I^Imod_auth_pam.c* mod_auth_unix.c$ 
$ 
# Be warned: use of this directive impacts CPU average load!$ 
# Uncomment this if you like to see progress and transfer rate with ftpwho$ 
# in downloads. That is not needed for uploads rates.$ 
#$ 
# UseSendFile^I^I^Ioff$ 
$ 
TransferLog /var/log/proftpd/xferlog$ 
SystemLog   /var/log/proftpd/proftpd.log$ 
$ 
<IfModule mod_quotatab.c>$ 
QuotaEngine on$ 
</IfModule>$ 
$ 
<IfModule mod_ratio.c>$ 
Ratios off$ 
</IfModule>$ 
$ 
$ 
# Delay engine reduces impact of the so-called Timing Attack described in$ 
# http://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02$ 
# It is on by default. $ 
<IfModule mod_delay.c>$ 
DelayEngine on$ 
</IfModule>$ 
$ 
<IfModule mod_ctrls.c>$ 
ControlsEngine        off$ 
ControlsMaxClients    2$ 
ControlsLog           /var/log/proftpd/controls.log$ 
ControlsInterval      5$ 
ControlsSocket        /var/run/proftpd/proftpd.sock$ 
</IfModule>$ 
$ 
<IfModule mod_ctrls_admin.c>$ 
AdminControlsEngine off$ 
</IfModule>$ 
$ 
<IfModule mod_sql.c>$ 
 SQLBackend            mysql$ 
</IfModule>$ 
$ 
#$ 
# Alternative authentication frameworks$ 
#$ 
#Include /etc/proftpd/ldap.conf$ 
#Include /etc/proftpd/sql.conf$ 
$ 
#$ 
# This is used for FTPS connections$ 
#$ 
#Include /etc/proftpd/tls.conf$ 
$ 
# A basic anonymous configuration, no upload directories.$ 
$ 
# <Anonymous ~ftp>$ 
#   User^I^I^I^Iftp$ 
#   Group^I^I^I^Inogroup$ 
#   # We want clients to be able to login with "anonymous" as well as "ftp"$ 
#   UserAlias^I^I^Ianonymous ftp$ 
#   # Cosmetic changes, all files belongs to ftp user$ 
#   DirFakeUser^Ion ftp$ 
#   DirFakeGroup on ftp$ 
# $ 
#   RequireValidShell^I^Ioff$ 
# $ 
#   # Limit the maximum number of anonymous logins$ 
#   MaxClients^I^I^I10$ 
# $ 
#   # We want 'welcome.msg' displayed at login, and '.message' displayed$ 
#   # in each newly chdired directory.$ 
#   DisplayLogin^I^I^Iwelcome.msg$ 
#   DisplayChdir^I^I.message$ 
# $ 
#   # Limit WRITE everywhere in the anonymous chroot$ 
#   <Directory *>$ 
#     <Limit WRITE>$ 
#       DenyAll$ 
#     </Limit>$ 
#   </Directory>$ 
# $ 
#   # Uncomment this if you're brave.$ 
#   # <Directory incoming>$ 
#   #   # Umask 022 is a good standard umask to prevent new files and dirs$ 
#   #   # (second parm) from being group and world writable.$ 
#   #   Umask^I^I^I^I022  022$ 
#   #            <Limit READ WRITE>$ 
#   #            DenyAll$ 
#   #            </Limit>$ 
#   #            <Limit STOR>$ 
#   #            AllowAll$ 
#   #            </Limit>$ 
#   # </Directory>$ 
# $ 
# </Anonymous>$ 
$ 
$ 
# Mod MySQL$ 
# =========$ 
# Les mots de passe sont cryptes dans la base avec la fonction ENCRYPT (MySQL)$ 
SQLAuthTypes Crypt$ 
SQLAuthenticate users* groups*$ 
$ 
# Modifiez cette ligne selon l'utilisateur et le mot de passe definit plutot$ 
SQLConnectInfo proftpd@localhost proftpd ThePASSWORD$ 
$ 
# On donne a ProFTPd le nom des colonnes de la table usertable$ 
SQLUserInfo ftpuser userid passwd uid gid homedir shell$ 
SQLUserWhereClause "LoginAllowed = 'true'"$ 
$ 
# On donne a ProFTPd le nom des colonnes de la table "grouptable"$ 
SQLGroupInfo ftpgroup groupname gid members$ 
$ 
# Creer le repertoire home de l'utilisateur si il n'existe pas$ 
CreateHome on$ 
$ 
# Met a jour les compteurs a chaque connection d'un utilisateur$ 
SQLLog PASS updatecount$ 
SQLNamedQuery updatecount UPDATE "count=count+1, accessed=now() WHERE userid='%u                                                                                       '" ftpuser$ 
$ 
# Met a jour les compteurs a chaque upload ou download d'un utilisateur$ 
SQLLog STOR,RETR modified$ 
SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser$ 
$ 
# Mod quota$ 
# =========$ 
QuotaEngine on$ 
QuotaDirectoryTally on$ 
QuotaDisplayUnits Mb$ 
QuotaShowQuotas on$ 
$ 
# Definit les requetes 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_d                                                                                       own_limit, files_transfer_limit FROM ftpquotalimits WHERE name = '%{0}' AND quot                                                                                       a_type = '%{1}'"$ 
SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_up_total, bytes_do                                                                                       wn_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_transf                                                                                       er_total + %{2}, files_up_total = files_up_total + %{3}, files_down_total = file                                                                                       s_down_total + %{4}, files_transfer_total = files_transfer_total + %{5} WHERE na                                                                                       me = '%{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$ 
$ 
# Gestion des logs$ 
# ================$ 
# Enregistre les requetes 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 acces aux fichiers$ 
LogFormat write "%h %l %u %t \"%r\" %s %b"$ 
ExtendedLog /var/log/proftpd/access.log WRITE,READ write


encore merci nasmak
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 419
6 avril 2011 à 17:09
Je ne vois pas de fin de ligne sur la dernière ligne ???
Est-ce une omission ou une anomalie ?
0
C'était en effet une anomalie, et c'est vraissemblablement cela qui causait la source du problème:
 * Stopping ftp server proftpd                                                                                                                               [ OK ] 
 * Starting ftp server proftpd                                                                                                                                  [ OK ] 



je n'ai plus de message d'erreur, cependant je n'arrive toujours pas à me connecter avec un utilisateur virtuel (créé avec la SQL) :/


Erreur avec FlashFXP:

[L] USER test
[L] Échec de la connexion (Perte de la connexion)
[L] Mise en Attente de 120 secondes avant la tentative de reconnexion N°2


Merci encore
Nasmak
0
Utilisateur anonyme
6 avril 2011 à 20:11
J'ai trouver d'où venait le problème, c'était tout simplement l'user proftpd qui n'avait pas suffisamment de droits pour lire la SQL ;)

Merci encore pour ton aide qui m'a permit de résoudre un autre problème :D

Amicalement
Nasmak
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 419
6 avril 2011 à 20:24
De rien et merci du retour ;-))
0