Bonjour à tous
Suite à l'installation de ProFTPd sur un serveur dédié ubuntu, je cherche a créer deux ftp public pour deux domaines différents.
Mon ojectif est de permettre le téléchargement de fichiers pour les sous domaines et domaines suivants (pris pour l'exemple) :
download.monsite-a.fr
ftp.monsite-b.fr
Pour cela, après lecture de plusieurs documents, j'ai créé les répertoires suivants en sudoer :
Citation:
sudo mkdir /var/ftp/site-a/
sudo mkdir /var/ftp/site-b/
|
et j'ai réalisé les fichiers suivants :
proftpd.conf
Code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
# Nom du serveur FTP des utilisateurs locaux.
ServerName "monsite FTP"
# Port d'écoute pour le serveur FTP des utilisateurs locaux.
# le port 21 sera réservé pour les connections anonymous.
Port 2111
# email de l'administrateur ProFTPd.
ServerAdmin postmaster@monsite-a.fr
# "standalone" signifie que c'est moi qui démarre le serveur par la commande /etc/init.d/proftpd start
# "inetd" signifie que c'est par le meta-deamon xinetd qu'il sera démarré.
#(bien mettre inetd meme si le meta-deamon s'appel xinetd).
ServerType standalone
# Est utile que si l'on veut utiliser des VirtualHosts, sinon ce n'est pas la peine de l'indiquer.
DefaultServer on
# Autorise les clients à reprendre les Uploads vers vous.
# A déactiver si on n'autorise pas les Uploads.
AllowStoreRestart off
# Autorise la reprise des téléchargements.
AllowRetrieveRestart on
# Pour éviter d'être vulnérable aux attaques de type DoS laissez le nombre de processus enfants à 30 maximum.
# Ce paramètre n'est valable que si vous fonctionnez en mode "standalone"
# Si vous êtes en mode "inetd" vous devrez configurer le nombre de processus enfants maximum dans le server xinetd.
MaxInstances 30
# Permet au serveur de rechercher lui même dans /etc/passwd la validité des
# mots de passe (Utile pour NIS). Laisser par défaut sur "off".
PersistentPasswd off
# Active un arrangement des lignes pour plus de compatibilité.
MultilineRFC2228 on
# Evite le blocage de ProFTPd pendant le temps de réponse de résolution DNS.
UseReverseDNS off
# Option de logging pour cette zone vers ce fichier.
TransferLog /var/log/proftpd/proftpd.log
# Formats des logs.
LogFormat default "%h %l %u %t \"%r\" %s %b"
LogFormat auth "%v [%P] %h %t \"%r\" %s"
LogFormat write "%h %l %u %t \"%r\" %s %b"
# Permet de chrooter les utilisateurs FTP locaux dans leur home directory.
DefaultRoot ~
# Tout ce qui est défini dans <Global> s'applique à l'ensemble du contexte de configuration, même VirtualHost.
<Global>
# Règle sous quel User et Group sera lancer le serveur FTP.
User nobody
Group nogroup
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022 022
# Définit la plage des ports passifs que ProFTPd utilisera pour répondre aux clients.
PassivePorts 49152 65534
# Enregistre les accès sur les fichiers et répertoires.
ExtendedLog /var/log/proftpd/access.log WRITE,READ write
# Enregistre tout les logins.
ExtendedLog /var/log/proftpd/auth.log AUTH auth
# Force l'option de directory listings (NLST, LIST et STAT) à -l
ListOptions "-l"
# Autorise le remplacement d'anciens fichiers par des nouveaux, si l'utilisateur à le droit en écriture bien sur.
<Directory />
AllowOverwrite on
</Directory>
<Limit ALL>
DenyAll
</Limit>
# Permet de ne pas donner d'informations sur le serveur.
DeferWelcome off
# On indique au serveur FTP d'utiliser ou non le fichier /etc/ftpusers pour savoir qui a le droit de se connecter.
# Par défaut ce fichier est utilisé par ProFTPd.
UseFtpUsers on
# Le premier message qui sera affiché quand quelqu'un se connectera
ServerIdent on "Server FTP ready"
# Message d'accueil
AccessGrantMsg "Bienvenue %u sur monsite.fr"
# Autorise le téléchargement ou upload distant directement depuis un autre serveur FTP sans passer par le PC de l'user.
AllowForeignAddress on
# Permet de déconnecter le client au bout de "x" secondes :
#
# S'il n'y a aucune activité de son coté.
TimeoutIdle 600
# S'il n'y a aucune activité entre la saisie du login et du passwd.
TimeoutLogin 300
# S'il n'opère aucun transfert.
TimeoutNoTransfer 300
# S'il a stoppé le transfert.
TimeoutStalled 3600
# Autorise seulement les noms de fichiers normaux (caractères alphanumérique) et non des codes shell.
PathAllowFilter "[a-zA-Z0-9]"
# Refuse l'upload de fichiers .ftpaccess ou .htaccess
PathDenyFilter "(\.ftp)|(\.hta)[a-z]+$"
# N'autorise pas de passer des printf-Formats.
AllowFilter "^[a-zA-Z0-9@~ /,_.-]*$"
DenyFilter "%"
# Cache les liens symboliques.
ShowSymlinks off
</Global>
# Permet de prendre en compte le fichier suivant.
Include /etc/proftpd/vhost.conf |
vhost.conf
Code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
| # VirtualHost Réservé aux Anonymous.
<VirtualHost download.monsite-a.fr>
# Nom du serveur FTP Réservé aux Anonymous.
ServerName "Server FTP Public"
Port 21
Umask 022
# Option de logging pour cette zone vers ce fichier.
TransferLog /var/log/proftpd/site-a-anonymous.log
# Permet de ne pas vérifier l'identité du login amonymous.
IdentLookups off
# Refuse la connexion des Utilisateurs disposant d'un login, pour autoriser seulement les connexions Amonymous.
<Limit LOGIN>
DenyAll
</Limit>
# Limite le nombre des clients différents qui peuvent se connecter.
MaxClients 10 "Sorry, max %m users -- try again later"
AccessGrantMsg "Bienvenue %u sur le Serveur FTP Public"
<Anonymous /var/ftp/site-a/>
User ftp
Group ftp
# Fait d'anonymous un alias à ftp, en se logant sous anonymous, ils sont appelés ftp.
UserAlias anonymous ftp
DirFakeUser on ftp
DirFakeGroup on ftp
# Ignore la vérification d'un shell pour anonymous.
RequireValidShell off
# Permet de ne pas rechercher dans le système, le mot de passe.
AnonRequirePassword off
# Pour qu'un message soit affiché à la connexion vous pouvez créer un fichier 'welcome.msg' à la racine (ici ~ftp/pub).
DisplayLogin welcome.msg
# Pour signaler que le client est remonté à la racine vous pouvez créer un fichier '.message' qui s'affichera.
DisplayFirstChdir message
# Permet de cacher tous les fichiers appartenant à "root".
HideUser root
HideGroup root
# Limite la bande passante à 30K/s pour les commandes suivantes.
# Ne limite pas la bande passante pour des fichiers inférieur ou égal à 1000KB.
TransferRate APPE,STOR,RETR,STOU 30.0:1024000
<Limit LOGIN>
AllowAll
</Limit>
<Limit READ>
AllowAll
</Limit>
# Limite les commandes suivantes :
# De renommer, de supprimer des fichiers des répertoires, changer les permissions, d'écrire ...
# /!\ A décommenter après les tests
# <Limit RNFR RNTO DELE RMD CHMOD SITE_CHMOD WRITE SITE XCUP XRMD XPWD>
# DenyAll
# </Limit>
</Anonymous>
</VirtualHost>
# VirtualHost Réservé aux Anonymous.
<VirtualHost ftp.monsite-b.fr>
# Nom du serveur FTP Réservé aux Anonymous.
ServerName "Server FTP Public"
Port 21
Umask 022
# Option de logging pour cette zone vers ce fichier.
TransferLog /var/log/proftpd/site-b-anonymous.log
# Permet de ne pas vérifier l'identité du login amonymous.
IdentLookups off
# Refuse la connexion des Utilisateurs disposant d'un login, pour autoriser seulement les connexions Amonymous.
<Limit LOGIN>
DenyAll
</Limit>
# Limite le nombre des clients différents qui peuvent se connecter.
MaxClients 10 "Sorry, max %m users -- try again later"
AccessGrantMsg "Bienvenue %u sur le Serveur FTP Public"
<Anonymous /var/ftp/site-b/>
User ftp
Group ftp
# Fait d'anonymous un alias à ftp, en se logant sous anonymous, ils sont appelés ftp.
UserAlias anonymous ftp
DirFakeUser on ftp
DirFakeGroup on ftp
# Ignore la vérification d'un shell pour anonymous.
RequireValidShell off
# Permet de ne pas rechercher dans le système, le mot de passe.
AnonRequirePassword off
# Pour qu'un message soit affiché à la connexion vous pouvez créer un fichier 'welcome.msg' à la racine (ici ~ftp/pub).
DisplayLogin welcome.msg
# Pour signaler que le client est remonté à la racine vous pouvez créer un fichier '.message' qui s'affichera.
DisplayFirstChdir message
# Permet de cacher tous les fichiers appartenant à "root".
HideUser root
HideGroup root
# Limite la bande passante à 30K/s pour les commandes suivantes.
# Ne limite pas la bande passante pour des fichiers inférieur ou égal à 1000KB.
TransferRate APPE,STOR,RETR,STOU 30.0:1024000
<Limit LOGIN>
AllowAll
</Limit>
<Limit READ>
AllowAll
</Limit>
# Limite les commandes suivantes :
# De renommer, de supprimer des fichiers des répertoires, changer les permissions, d'écrire ...
# /!\ A décommenter après les tests
# <Limit RNFR RNTO DELE RMD CHMOD SITE_CHMOD WRITE SITE XCUP XRMD XPWD>
# DenyAll
# </Limit>
</Anonymous>
</VirtualHost> |
Mais après redémarrage du serveur, je constate que je me fais refuser l'accès.
Citation:
|
550 PWD : permission denied
|
Quelqu'un aurait-il une idée pour résoudre ce problème ?
Merci d'avance