Outils pour utilisateurs

Outils du site


admin:services:ftp

Ceci est une ancienne révision du document !


< retour à la page de l'administration technique

Le serveur FTP de FedeRez se trouve sur hexagon.

Infos de connexion

Hôte ftp.federez.net
Port 21
Protocole FTPES (FTP avec connexion TLS explicite) :!: obligatoire
Login Identifiant LDAP (normalement de la forme prénom.nom).
Mot de passe Celui du compte LDAP. Cf https://webldap.federez.net en cas d'oubli.

Infos générales

Voici l'arborescence mise en place initialement. Sera probablement à actualiser par la suite mais ça donne déjà une idée.

/home/ftp
├── administratif
│   └── statuts.pdf
├── admin_tech
├── journees
│   └── 2014
│       ├── presentations
│       │   ├── federez_ag_2014_aliens.pdf
│       │   └── ...
│       └── videos
│           ├── Conférence IPv6.mp4
│           └── ...
├── README_FTP_FedeRez.txt
├── tournee
├── upload
└── visuel
    ├── font
    ├── kakemono
    └── logo

Mise en place

Pour la mise en place d'un serveur vsftpd (qui était installé auparavant à FedeRez), on pourra se référer à la page dédiée. Ce qui suit concerne proftpd, logiciel utilisé actuellement à FedeRez.

Le choix de proftpd a été fait parce que la gestion du LDAP y semblait meilleure qu'avec pure-ftpd.

On commence par installer les paquets nécessaires (la doc à consulter dans /usr/share/doc/proftpd-doc/ n'est pas requise mais peut se révéler utile) :
apt-get install proftpd proftpd-doc proftpd-mod-ldap

On crée un utilisateur système “ftp” :

useradd --system --home-dir /srv/ftp --no-create-home --shell /usr/sbin/nologin ftp

Si l'utilisateur existe, on s'assure que tous soit bon avec :

grep -E  '^ftp:' /etc/passwd

qui doit renvoyer :

50:ftp:x:129:999::/srv/ftp:/usr/sbin/nologin

Sinon, on adapte avec :

groupadd --system ftp
usermod --gid ftp --home /srv/ftp --shell /usr/sbin/nologin ftp

On note ensuite l'uid et le gid de ftp :

id ftp

On décommente dans /etc/proftpd/proftpd.conf :

Include /etc/proftpd/tls.conf
Include /etc/proftpd/ldap.conf

on change la ligne adapté pour avoir :

DisplayLogin                    /etc/proftpd/welcome.msg

et on ajoute :

AuthOrder mod_ldap.c
DefaultRoot /srv/ftp

On crée /etc/proftpd/welcome.msg avec par exemple :

"/etc/proftpd/welcome.msg"
=================================================
|                                               |
|   Bienvenue sur le serveur FTP de FedeRez !   |
|                                               |
=================================================
 
Vous êtes identifié en tant que %U@%R
 
                    -------
 
 
En cas de questions, contacter admin@federez.net

Ainsi seuls les utilisateurs ayant un compte dans le LDAP pourront utiliser le FTP.

On décommente dans /etc/proftpd/modules.conf :

LoadModule mod_ldap.c

On modifie /etc/proftpd/tls.conf pour avoir : (cf http://www.proftpd.org/docs/howto/TLS.html pour les détails)

"/etc/proftpd/tls.conf"
<IfModule mod_tls.c>
TLSEngine                    on
TLSLog                       /var/log/proftpd/tls.log
TLSProtocol                  TLSv1.2
TLSRSACertificateFile        /etc/letsencrypt/live/federez.net/fullchain.pem
TLSRSACertificateKeyFile     /etc/letsencrypt/live/federez.net/privkey.pem
TLSOptions                   NoCertRequest EnableDiags 
TLSVerifyClient              off
TLSRequired                  on
</IfModule>

On restreint les permissions sur /etc/proftpd/ldap.conf qui va contenir un mot de passe :

chmod o-r /etc/proftpd/ldap.conf

On modifie /etc/proftpd/ldap.conf : (cf http://www.proftpd.org/docs/contrib/mod_ldap.html pour les détails)

"/etc/proftpd/ldap.conf"
<IfModule mod_ldap.c>
LDAPServer "ldaps://ldap.federez.net/??sub" "ldaps://ldap-ro.federez.net/??sub"
LDAPBindDN "cn=proftpd,ou=service-users,dc=federez,dc=net" "mot_de_passe"
LDAPUsers "ou=users,dc=federez,dc=net" (uid=%v)
LDAPSearchScope subtree
LDAPForceDefaultUID on
LDAPForceDefaultGID on
LDAPDefaultUID 129
LDAPDefaultGID 999
LDAPLog /var/log/proftpd/ldap.log
LDAPAuthBinds on
</IfModule>

Si rien ne marche, on pourra ajouter à /etc/proftpd/proftpd.conf :

Trace ldap:20
Trace *:10

On relance le service :
systemctl restart proftpd.service

admin/services/ftp.1459983407.txt.gz · Dernière modification : 2016/04/07 00:56 de david

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki