Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

linux:proftpd [2009/07/21 22:04]
matthieu
linux:proftpd [2011/01/08 15:24] (Version actuelle)
matthieu
Ligne 1: Ligne 1:
 +{{tag>fr fr:linux fr:serveur fr:transfert_de_fichier}}
 ====== Proftpd ====== ====== Proftpd ======
 Proftpd est un serveur FTP offrant de nombreuses fonctions. Proftpd est un serveur FTP offrant de nombreuses fonctions.
 Ci dessous est expliquée l'intallation d'un FTP utilisant une authentification LDAP ou Mysql. Ci dessous est expliquée l'intallation d'un FTP utilisant une authentification LDAP ou Mysql.
- 
-Utilisé pour le [[bender]]. 
  
 ===== Principaux avantages ===== ===== Principaux avantages =====
Ligne 44: Ligne 43:
  
 ===== Configuration générale ===== ===== Configuration générale =====
-Après une installation standard, voici quelques paramètres à modifier dans /etc/proftpd/proftpd.conf+Après une installation standard, voici quelques paramètres à modifier dans ///etc/proftpd/proftpd.conf//
  
   * modifier le nom du serveur :   * modifier le nom du serveur :
Ligne 132: Ligne 131:
 </code> </code>
  
-  * editier /etc/proftpd/proftpd.conf et décommenter la ligne :+  * editier ///etc/proftpd/proftpd.conf// et décommenter la ligne :
  
   Include /etc/proftpd/tls.conf   Include /etc/proftpd/tls.conf
  
-  * dans /etc/proftpd/tls.conf, décommenter les lignes :+  * dans ///etc/proftpd/tls.conf//, décommenter les lignes :
 <code> <code>
 TLSEngine                               on TLSEngine                               on
Ligne 146: Ligne 145:
 </code> </code>
  
-  * toujours dans /etc/proftpd/tls.conf, indiquer les fichiers de clef et de certificat :+  * toujours dans ///etc/proftpd/tls.conf//, indiquer les fichiers de clef et de certificat :
 <code> <code>
 TLSRSACertificateFile                   /etc/proftpd/ftp.bouthors.fr.crt TLSRSACertificateFile                   /etc/proftpd/ftp.bouthors.fr.crt
Ligne 155: Ligne 154:
  
 Pour un exemple de configuration de client ftp en ftps, voir [[desktop:filezilla]]. Pour un exemple de configuration de client ftp en ftps, voir [[desktop:filezilla]].
 +
 +:!: Un mise à jour récente provoque un blocage de la négociation TLS.\\
 +Message d'erreur : mod_tls/2.2.2: client-initiated session renegotiation detected, aborting connection\\
 +Solution : ajouter l'option "TLSOptions          AllowClientRenegotiations"\\
 +Plus d'info : http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=558597
  
 ===== Authentification LDAP ===== ===== Authentification LDAP =====
Ligne 161: Ligne 165:
 Pour l'installation d'un annuaire LDAP, ainsi que le schéma utilisé, voir [[openldap]]. Pour l'installation d'un annuaire LDAP, ainsi que le schéma utilisé, voir [[openldap]].
  
 +Cet exemple consiste à utiliser l'authentification LDAP uniquement (désactivation de l'authentification du système Linux).
  
 +==== Installation ====
 +Pour pouvoir utiliser l'authentification LDAP, installer le paquet proftpd-mod-ldap.
 +
 +==== Activation de l'authentification LDAP ====
 +Dans ///etc/proftpd/modules.conf//, décommenter :
 +  LoadModule mod_ldap.c
 +
 +Dans ///etc/proftpd/proftpd.conf//, décommenter :
 +  Include /etc/proftpd/ldap.conf
  
 ==== Configuration ==== ==== Configuration ====
-Description des directives+Dans ///etc/proftpd/proftpd.conf//, effectuer la configuration suivante : 
 +  * AuthOrder active et définit l'ordre les authentifications.
  
-=== RequireValidShell === +  AuthOrder                       mod_ldap.c 
-Si vous utilisez des shells invalides pour vos utilisateurs ftp (pour éviter qu'ils se loguent), désactivez la validation du shell pour le FTP : + 
-  RequireValidShell               off+  * Pour désactiver le PAM (qui permet d'utiliser l'authentification classique du Linux), ajouter l'option suivante :
  
-=== AuthPAM === 
-Pour désactiver le PAM (qui permet d'utiliser l'authentification classique du Linux), utilisez l'option suivante : 
   AuthPAM                         off   AuthPAM                         off
  
-=== AuthOrder === +  * Si vous utilisez des shells invalides, désactiver la validation du shell pour le FTP en décommentant :
-AuthOrder active et définit l'ordre les authentifications. +
-  AuthOrder                       mod_ldap.c+
  
-=== LDAPServer === +  RequireValidShell               off
-Définition du serveur LDAP : +
-  LDAPServer                      "localhost:389"+
  
-=== LDAPDNInfo === 
-Définition du compte de service pour effectuer les recherches dans l'annuaire 
-  LDAPDNInfo                      "cn=proftpd,ou=services,dc=bouthors,dc=fr" "****" 
  
-=== LDAPAttr === +Dans ///etc/proftpd/ldap.conf//effectuer la configuration suivante 
-Pour personnaliser les attributs utilisés dans l'annuaireutilisez LDAPAttr +  * Nom/IP du serveur ldap avec LDAPServer :
-  LDAPAttr                        uid cn+
  
-Remarque LDAPAttr dois être positionné avant les LDAPDO*+  LDAPServer localhost:389
  
-=== LDAPAuthBinds === +  * Identifiant de connexion au serveur LDAP avec LDAPDNInfo
-Pour indiquer à proftpd de valider l'utilisateur avec un BIND plutôt que par lecture de son mot de passe, il est important d'ajouter : +
-  LDAPAuthBinds on+
  
-=== LDAPDoAuth === +  LDAPDNInfo "cn=proftpd,ou=services,dc=bouthors,dc=fr" "***"
-Activation de l'authentification et définition du filtre de recherche des utilisateurs : +
-  LDAPDoAuth                      on "dc=bouthors, dc=fr" "(&(cn=%v)(objectclass=person))"+
  
-=== LDAPDoGIDLookups === +  * (optionnelPour personnaliser les attributs utilisés dans l'annuaireutiliser LDAPAttr :
-Activation de la recherche des groupes et définition du filtre de recherche des groupes : +
-  LDAPDoGIDLookups        on "dc=bouthors, dc=fr" "(&(cn=%u)(objectclass=posixGroup))" "(&(gidNumber=%u)(objectclass=mboGroup))" "(&(uniqueMember=cn=%v,ou=users,dc=bouthors,dc=fr)(objectclass=mboGroup))"+
  
-Le GroupLookup de proftpd cherche à identifier le nom du groupe correspondant au GID de l'utilisateur. Pour cela proftpd genère 3 requêtes LDAP paramètrables avec LDAPDoGIDLookups.+  LDAPAttr                        uid cn
  
-La requête "(&(gidNumber=%u)(objectclass=mboGroup))" retrouve un groupe si l'utilisateur et le groupe ont le même attribut GID.+  * Activation de l'authentification et définition du filtre de recherche des utilisateurs avec LDAPDoAuth :
  
 +  LDAPDoAuth on "dc=bouthors, dc=fr" "(&(cn=%v)(objectclass=mboUser))"
 +
 +  * (optionnel) Activation de la recherche des groupes et définition du filtre de recherche des groupes :
 +
 +  LDAPDoGIDLookups        on "dc=bouthors, dc=fr" "(&(cn=%u)(objectclass=posixGroup))" "(&(gidNumber=%u)(objectclass=mboGroup))" "(&(uniqueMember=cn=%v,ou=users,dc=bouthors,dc=fr)(objectclass=mboGroup))"
 +
 +Le GroupLookup de proftpd cherche à identifier le nom du groupe correspondant au GID de l'utilisateur. Pour cela proftpd génère 3 requêtes LDAP paramétrables avec LDAPDoGIDLookups.\\
 +La requête "(&(gidNumber=%u)(objectclass=mboGroup))" retrouve un groupe si l'utilisateur et le groupe ont le même attribut GID.\\
 De plus, dans mon annuaire LDAP, les groupes contiennent la liste des utilisateurs dans le champ multivalué uniqueMember.\\  De plus, dans mon annuaire LDAP, les groupes contiennent la liste des utilisateurs dans le champ multivalué uniqueMember.\\ 
 La requête "(&(uniqueMember=cn=%v,ou=users,dc=bouthors,dc=fr)(objectclass=mboGroup))" permet ainsi de détecter les groupes qui contiennent l'utilisateur.\\ La requête "(&(uniqueMember=cn=%v,ou=users,dc=bouthors,dc=fr)(objectclass=mboGroup))" permet ainsi de détecter les groupes qui contiennent l'utilisateur.\\
-Remarque : Il n'est pas possible d'utiliser le DN de l'utilisateur dans le GroupLookup, c'est pourquoi tous les utilisateurs doivent être dans la même branche.+Il n'est pas possible d'utiliser le DN de l'utilisateur dans le GroupLookup, c'est pourquoi tous les utilisateurs doivent être dans la même branche. 
 + 
 +:!: Remarques : 
 +  * une configuration LDAPServer de type ldap://localhost a un impact sur le scope de recherche 
 +  * pour les anciennes version de mod-ldap il faut ajouter LDAPAuthBinds on 
 + 
  
 ==== Configuration des restrictions ==== ==== Configuration des restrictions ====
-En utilisant les directives Directory et Limit, il est possible de limiter les accès au serveur FTP.+En utilisant les directives Directory et Limit, il est possible de limiter les accès au serveur FTP dans ///etc/proftpd/proftpd.conf//.
  
 Voici un exemple simple qui limite l'accès au serveur FTP aux seuls membres du groupe "ftp" : Voici un exemple simple qui limite l'accès au serveur FTP aux seuls membres du groupe "ftp" :
-<file>+<code>
 <Directory /> <Directory />
 <Limit ALL> <Limit ALL>
Ligne 223: Ligne 235:
 </Limit> </Limit>
 </Directory> </Directory>
-</file> +</code>
- +
  
  
 ==== Exemple de configuration ==== ==== Exemple de configuration ====
 +**proftpd.conf**
 <file> <file>
 +...
 RequireValidShell               off RequireValidShell               off
 +...
 AuthPAM                         off AuthPAM                         off
 +...
 AuthOrder                       mod_ldap.c AuthOrder                       mod_ldap.c
-LDAPServer                      "localhost:389" 
-LDAPDNInfo                      "cn=proftpd,ou=services,dc=bouthors,dc=fr" "****" 
-LDAPAuthBinds on 
-LDAPAttr                        uid cn 
- 
-LDAPDoAuth              on "dc=bouthors, dc=fr" "(&(cn=%v)(objectclass=mboUser))" 
-LDAPDoGIDLookups        on "dc=bouthors, dc=fr" "(&(cn=%u)(objectclass=posixGroup))" "(&(gidNumber=%u)(objectclass=mboGroup))" "(&(uniqueMember=cn=%v,ou=users,dc=bouthors,dc=fr)(objectclass=mboGroup))" 
- 
  
 <Directory /> <Directory />
Ligne 254: Ligne 260:
         Umask                           006  007         Umask                           006  007
 </Directory> </Directory>
 +</file>
 +
 +
 +**ldap.conf**
 +<file>
 +#
 +# Proftpd sample configuration for LDAP authentication.
 +#
 +# (This is not to be used if you prefer a PAM-based SQL authentication)
 +#
 +
 +<IfModule mod_ldap.c>
 +#
 +# This is used for ordinary LDAP connections, with or without TLS
 +#
 +#LDAPServer ldap://ldap.example.com
 +#LDAPDNInfo "cn=admin,dc=example,dc=com" "admin_password"
 +#LDAPDoAuth on "dc=users,dc=example,dc=com"
 +LDAPServer localhost:389
 +LDAPDNInfo "cn=proftpd,ou=services,dc=bouthors,dc=fr" "***"
 +LDAPAttr uid cn
 +LDAPDoAuth on "dc=bouthors, dc=fr" "(&(cn=%v)(objectclass=mboUser))"
 +LDAPDoGIDLookups on "dc=bouthors, dc=fr" "(&(cn=%u)(objectclass=posixGroup))" "(&(gidNumber=%u)(objectclass=mboGroup))" "(&(uniqueMember=cn=%v,ou=users,dc=bouthors,dc=fr)(objectclass=mboGroup))"
 +#
 +# To be set on only for LDAP/TLS on ordinary port, for LDAP+SSL see below
 +#LDAPUseTLS on
 +#
 +
 +#
 +# This is used for encrypted LDAPS connections
 +#
 +#LDAPServer ldaps://ldap.example.com
 +#LDAPDNInfo "cn=admin,dc=example,dc=com" "admin_password"
 +#LDAPDoAuth on "dc=users,dc=example,dc=com"
 +#
 +</IfModule>
 </file> </file>
  
 ===== Authentification SQL ===== ===== Authentification SQL =====
 +:!: Paragraphe archivé non mis à jour.
 +
 Cette partie décrit comment configurer l'authentification SQL. Etant donné que j'utilise actuellement LDAP, il se peut que la configuration différe dans les nouvelles versions. Cette partie décrit comment configurer l'authentification SQL. Etant donné que j'utilise actuellement LDAP, il se peut que la configuration différe dans les nouvelles versions.
  
 ==== Installation ==== ==== Installation ====
 Afin d'activer le support de mysql, il faut ajouter le paquet : Afin d'activer le support de mysql, il faut ajouter le paquet :
-  * proftpd-mysql+  * proftpd-mod-mysql
  
 Concernant la création des utilisateurs, voir [[authent_sql|Utiliser une base sql pour l'authentification]]. Concernant la création des utilisateurs, voir [[authent_sql|Utiliser une base sql pour l'authentification]].
  
-==== Configuration ====+==== Activation de l'authentification SQL ==== 
 +Dans ///etc/proftpd/modules.conf//, décommenter : 
 +  LoadModule mod_sql.c
  
-=== RequireValidShell === +Dans ///etc/proftpd/proftpd.conf//décommenter 
-Si vous utilisez des shells invalides pour vos utilisateurs ftp (pour éviter qu'ils se loguent)désactivez la validation du shell +  Include /etc/proftpd/sql.conf
-  RequireValidShell               off+
  
-=== AuthPAM === +==== Configuration ==== 
-Pour désactiver le PAM (qui permet d'utiliser l'authentification classique du Linux)utilisez l'option suivante : +Dans ///etc/proftpd/proftpd.conf//effectuer la configuration suivante : 
-  AuthPAM                         off+  * AuthOrder active et définit l'ordre les authentifications.
  
-=== AuthOrder === 
-AuthOrder active et définit l'ordre les authentifications. 
   AuthOrder                       mod_sql.c mod_auth_unix.c   AuthOrder                       mod_sql.c mod_auth_unix.c
  
 mod_auth_unix.c est utilisé pour récupérer le nom des groupes ainsi que pour authentifier les utilisateurs du système. mod_auth_unix.c est utilisé pour récupérer le nom des groupes ainsi que pour authentifier les utilisateurs du système.
  
-=== SQLConnectInfo === +  * Pour désactiver le PAM (qui permet d'utiliser l'authentification classique du Linux), ajouter l'option suivante : 
-SQLConnectInfo définit la connexion SQL : le serveur, la base de données, l'utilisateur et son mot de passe.+ 
 +  AuthPAM                         off 
 + 
 +  * Si vous utilisez des shells invalides, désactiver la validation du shell pour le FTP en décommentant : 
 + 
 +  RequireValidShell               off 
 + 
 +Dans ///etc/proftpd/sql.conf//, effectuer la configuration suivante : 
 +  * SQLConnectInfo définit la connexion SQL : le serveur, la base de données, l'utilisateur et son mot de passe. 
   SQLConnectInfo                  users@localhost proftpd ***password***   SQLConnectInfo                  users@localhost proftpd ***password***
  
-=== SQLUserInfo === +  * SQLUserInfo définit la table qui contient les utilisateurs : 
-SQLUserInfo définit la table qui contient les utilisateurs : +    - le nom de la table 
-  - le nom de la table +    - la colonne des utilisateurs 
-  - la colonne des utilisateurs +    - la colonne des mots de passe 
-  - la colonne des mots de passe +    - la colonne des UID 
-  - la colonne des UID +    - la colonne des GID 
-  - la colonne des GID +    - la colonne des répertoires utilisateurs 
-  - la colonne des répertoires utilisateurs +    - la colonne des shells+
-  - la colonne des shells++
  
   SQLUserInfo                     auth username password uid gid homedir shell   SQLUserInfo                     auth username password uid gid homedir shell
  
-=== SQLAuthTypes === +  * SQLAuthTypes définit le type de cryptage utilisé pour les mots de passe : 
-SQLAuthTypes définit le type de cryptage utilisé pour les mots de passe :+
   SQLAuthTypes                    Crypt   SQLAuthTypes                    Crypt
  
-=== SQLAuthenticate === +  * SQLAuthenticate définit comment le mod SQL doit authentifier : 
-SQLAuthenticate définit comment le mod SQL doit authentifier :+
   SQLAuthenticate                 users* usersetfast   SQLAuthenticate                 users* usersetfast
 +
 Dans cet exemple, on demande une authentification uniquement des utilisateurs (sans table de groupe) en indiquant une optimisation des requetes SQL au détriment de la mémoire. Dans cet exemple, on demande une authentification uniquement des utilisateurs (sans table de groupe) en indiquant une optimisation des requetes SQL au détriment de la mémoire.
  
-=== SQLNamedQuery === +  * SQLNamedQuery permet de définir des requêtes SQL utilisée par les options ci-après : 
-SQLNamedQuery permet de définir des requêtes SQL utilisée par les options ci-après :+
   SQLNamedQuery                   updatecount UPDATE "count=count+1 WHERE username='%u'" auth   SQLNamedQuery                   updatecount UPDATE "count=count+1 WHERE username='%u'" auth
   SQLNamedQuery                   count SELECT "count from auth where username='%u'"   SQLNamedQuery                   count SELECT "count from auth where username='%u'"
  
-  * Updatecount réalise l'incrémentation du champ "count" de l'utilisateur. +Updatecount réalise l'incrémentation du champ "count" de l'utilisateur.\\ 
-  * Count renvoie le champ count de l'utilisateur.+Count renvoie le champ count de l'utilisateur.
  
-=== SQLLog === +  * SQLLog permet d'exécuter une requête SQL en fonction des actions de l'utilisateur :\\
-SQLLog permet d'exécuter une requête SQL en fonction des actions de l'utilisateur :+
 Par exemple, l'option suivante exécute la requête //updatecount// lorsque l'utilisateur se connecte : Par exemple, l'option suivante exécute la requête //updatecount// lorsque l'utilisateur se connecte :
 +
   SQLLog                          PASS updatecount   SQLLog                          PASS updatecount
  
-=== SQLShowInfo === +  * SQLShowInfo permet d'afficher des informations à l'utilisateur en utilisant un requête SQL.\\
-SQLShowInfo permet d'afficher des informations à l'utilisateur en utilisant un requête SQL.+
 Par exemple, la ligne suivante indique le nombre de connexions de l'utilisateur : Par exemple, la ligne suivante indique le nombre de connexions de l'utilisateur :
 +
   SQLShowInfo                     PASS "230" "Vous vous êtes logué(e) %{count} fois, %u"   SQLShowInfo                     PASS "230" "Vous vous êtes logué(e) %{count} fois, %u"
  
-=== SQLMinID === +  * SQLMinID définit les valeurs par défaut pour UID et GID : 
-SQLMinID définit les valeurs par défaut pour UID et GID :+
   SQLMinID                        499   SQLMinID                        499
  
-=== SQLDefaultUID === +  * SQLDefaultUID définit la valeur par défaut de UID : 
-SQLDefaultUID définit la valeur par défaut de UID :+
   SQLDefaultUID                   500   SQLDefaultUID                   500
  
-=== SQLDefaultGID === +  * SQLDefaultGID définit la valeur par défaut de GID : 
-SQLDefaultGID définit la valeur par défaut de GID :+
   SQLDefaultGID                   500   SQLDefaultGID                   500
  
-=== SQLDefaultHomedir === +  * SQLDefaultHomedir définit le répertoire home par défaut : 
-SQLDefaultHomedir définit le répertoire home par défaut :+
   SQLDefaultHomedir               /ftp   SQLDefaultHomedir               /ftp
- 
- 
  
  
 ==== Exemple de configuration complète ==== ==== Exemple de configuration complète ====
 +:!: Archive ! à adapter !
 +
 Fichier ///etc/proftpd.conf// Fichier ///etc/proftpd.conf//
 <file> <file>
Ligne 518: Ligne 570:
  
 Date : %T Date : %T
- 
-Descriptif du serveur : 
-- Liaison 9online 1024 (download : 1024kbits/s, upload : 256kbits/s) 
-- Processeur Athlon 700 
-- Ram 512Mo 
-- Disques (540Go) 
  
 Bonne journée ;-) Bonne journée ;-)
Ligne 532: Ligne 578:
  
 ==== Script de maintenance ==== ==== Script de maintenance ====
-La gestion d'un ftp nécessite quelques opérations de maintenance, en particulier pour réaliser les "petits plus" décrits en objectif +Voici un script qui réalise les taches suivantes 
-  * création du fichier index +  * création d'un fichier index 
-  * création du fichier history +  * création d'un fichier history 
-  * création du SFV+  * création d'un SFV
   * remise à zéro des propriétaires et droits des fichiers en lecture :   * remise à zéro des propriétaires et droits des fichiers en lecture :
  
 |            ^ valeur   ^ droits ^ |            ^ valeur   ^ droits ^
-^utilisateur | admin    | r w X  |+^utilisateur | matthieu | r w X  |
 ^groupe      | ftp      | r - X  | ^groupe      | ftp      | r - X  |
 ^autre       |          | - - -  | ^autre       |          | - - -  |
Ligne 550: Ligne 596:
 # #
 # Matthieu Bouthors # Matthieu Bouthors
-# MAJ : 13/09/07+# MAJ : 20/07/09
  
 # Traitement sur tous les répertoires # Traitement sur tous les répertoires
-for rep in /ftp/Appz /ftp/BD /ftp/Series-Animes /ftp/Games /ftp/MP3 /ftp/Video /ftp/OnDemand+for rep in /ftp/dir1 /ftp/dir2 /ftp/dir3
 do do
 #Supprime les SFV de la racine #Supprime les SFV de la racine
Ligne 576: Ligne 622:
  
 ==== Rotation des logs ==== ==== Rotation des logs ====
-La rotation des logs est gérée par  ///etc/cron.monthly/proftpd//, qui contient par défaut :+La rotation des logs est gérée par  ///etc/logrotate.de/proftpd-basic//, qui contient par défaut :
 <file> <file>
-#!/bin/sh +/var/log/proftpd/proftpd.log 
-+/var/log/proftpd/controls.log 
-# cron script to rotate the proftpd server logfile, based on the +/var/log/proftpd/xferlog 
-# wu-ftpd script by Peter Tobias <tobias@et-inf.fho-emden.de>+/var/log/proftpd/xferreport 
- +
-[ -x /usr/sbin/ftpstats ] || exit 0 +        weekly 
- +        missingok 
-cd /var/log/proftpd +        rotate 7 
-savelog -q -u root -g adm -m 640 -c 12 /var/log/proftpd/xferreport +        compress 
-ftpstats -a -r -l 2 -d 2>/dev/null >/var/log/proftpd/xferreport +        delaycompress 
-savelog -q -u root -g adm -m 640 -c 7 /var/log/proftpd/xferlog +        notifempty 
-savelog -q -u root -g adm -m 640 -c 7 /var/log/proftpd/proftpd.log +        create 640 root adm 
-savelog -q -u root -g adm -m 640 -c 7 /var/log/proftpd/controls.log+        sharedscripts 
 +        postrotate 
 +                # reload could be not sufficient for all logs, restart is safer 
 +                invoke-rc.proftpd restart 2>/dev/null >/dev/null || true 
 +        endscript 
 +}
 </file> </file>
  
-Pour conserver les logs 1 an, il suffit de modifier la ligne +Pour conserver les logs 1 an, il suffit de modifier la ligne rotate : 
-  savelog -q -u root -g adm -m 640 -c 12 /var/log/proftpd/xferlog +  rotate 12
  
 +===== Debug =====
 +Pour mettre proftpd en mode debug, lancer le en ligne de commande ainsi :
 +  proftpd -nd6
  
 ===== Backup ===== ===== Backup =====
-  * /etc/proftpd.conf +  * /etc/proftpd/ 
-  * /etc/cron.monthly/proftpd +  * /etc/logrotate.d/proftpd 
-  * /home/scripts/ftp/maintenance_ftp+  * /home/scripts/maintenance_ftp
   * /ftp/welcome.msg   * /ftp/welcome.msg
 +  * /var/log/proftpd
   * le répertoire du ftp   * le répertoire du ftp
- 
- 
  
  
 ===== Links ===== ===== Links =====
-  * [[start]] 
-  * [[bender]] 
   * [[mysql]]   * [[mysql]]
   * [[openldap]]   * [[openldap]]
linux/proftpd.1248206691.txt.gz · Dernière modification: 2009/07/21 22:04 par matthieu
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki