Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
« Installation de SFTPGo sur eole3 » : différence entre les versions
Page créée avec « == Installation de SFTPGo sur eole3 == category:eole3 === Objectif === Mettre en place un serveur SFTP moderne permettant : * la gestion fine des accès ; * la sépa... » |
|||
| Ligne 163 : | Ligne 163 : | ||
--- | --- | ||
=== Répertoire /srv/sftpgo === | |||
Par défaut, SFTPGo utilise le répertoire <code>/srv/sftpgo</code> pour : | |||
* le stockage local des utilisateurs ; | |||
* les sauvegardes internes. | |||
Dans l’architecture eole3 : | |||
* les données sont stockées dans <code>/var/data/</code> (ZFS) ; | |||
* les accès se font via des virtual folders ; | |||
* les répertoires techniques sont dans <code>/var/sftpgo-homes/</code>. | |||
==== Vérification ==== | |||
<syntaxhighlight lang="bash"> | |||
ls -la /srv/sftpgo | |||
grep -R "/srv/sftpgo" /etc/sftpgo | |||
</syntaxhighlight> | |||
==== Conclusion ==== | |||
Si le répertoire est vide et non utilisé : | |||
<syntaxhighlight lang="bash"> | |||
rm -rf /srv/sftpgo | |||
</syntaxhighlight> | |||
==== Recommandation ==== | |||
Adapter la configuration SFTPGo pour utiliser : | |||
* <code>/var/sftpgo-homes</code> pour les homes techniques ; | |||
* <code>/var/lib/sftpgo</code> pour les données internes. | |||
Le répertoire <code>/srv/sftpgo</code> ne doit pas être utilisé dans une architecture basée sur ZFS et virtual folders. | |||
=== Organisation des données clients === | === Organisation des données clients === | ||
Version du 10 avril 2026 à 11:41
Installation de SFTPGo sur eole3
Objectif
Mettre en place un serveur SFTP moderne permettant :
- la gestion fine des accès ;
- la séparation logique des données via des virtual folders ;
- la gestion des quotas indépendamment de ZFS ;
- une alternative à OpenSSH SFTP utilisé en mode secours.
---
Pré-requis
- serveur Ubuntu 24 (noble) fonctionnel ;
- accès root ;
- datasets clients déjà montés sous
/var/data/; - groupe
pleadeexistant ; - service SSH déjà configuré.
---
Installation du dépôt SFTPGo
Installation des dépendances :
apt update
apt install -y software-properties-common
Ajout du dépôt officiel via PPA :
add-apt-repository ppa:sftpgo/sftpgo
apt update
---
Installation de SFTPGo
apt install -y sftpgo
---
Vérification du service
systemctl status sftpgo
Résultat attendu :
- service actif (running) ;
- écoute par défaut sur le port
2022pour SFTP.
---
Activation au démarrage
systemctl enable --now sftpgo
---
Fonctionnement du service
- le service tourne avec l’utilisateur système
sftpgo; - UID typique : 995 ;
- GID typique : 987.
Vérification :
id sftpgo
---
Accès aux données
Par défaut, l’utilisateur sftpgo n’a accès à aucun dataset client.
Pour permettre l’accès aux données :
usermod -aG pleade sftpgo
systemctl restart sftpgo
Explication
- les données clients appartiennent au groupe
pleade; - SFTPGo doit pouvoir lire/écrire dans ces répertoires ;
- l’ajout au groupe
pleadepermet cet accès.
⚠️ Important :
- il s’agit d’un accès technique (daemon), pas d’un utilisateur humain ;
- ne pas ajouter d’utilisateurs humains dans ce groupe pour des raisons de sécurité.
---
Vérification des accès aux datasets
Exemple :
namei -l /var/data/apbp-data/data/pleade
Conditions nécessaires :
- tous les répertoires traversés doivent être au minimum
r-x; - les répertoires d’écriture doivent être
rwxpour le groupe.
---
Droits recommandés
Pour les zones d’écriture :
chmod -R 775 /var/data/<client>-data/data/pleade
chmod -R 775 /var/data/<client>-data/data/projets
⚠️ Ne pas modifier :
data-private(zone interne applicative) ;- les répertoires système.
---
Répertoire technique des homes SFTPGo
Créer un répertoire dédié pour les chroot techniques :
mkdir -p /var/sftpgo-homes
chown sftpgo:sftpgo /var/sftpgo-homes
chmod 755 /var/sftpgo-homes
Puis, pour chaque client :
mkdir -p /var/sftpgo-homes/<client>
chown sftpgo:sftpgo /var/sftpgo-homes/<client>
chmod 755 /var/sftpgo-homes/<client>
Explication
- ces répertoires servent de racine technique pour SFTPGo ;
- ils restent vides ;
- les données réelles sont montées via des virtual folders.
---
Répertoire /srv/sftpgo
Par défaut, SFTPGo utilise le répertoire /srv/sftpgo pour :
- le stockage local des utilisateurs ;
- les sauvegardes internes.
Dans l’architecture eole3 :
- les données sont stockées dans
/var/data/(ZFS) ; - les accès se font via des virtual folders ;
- les répertoires techniques sont dans
/var/sftpgo-homes/.
Vérification
ls -la /srv/sftpgo
grep -R "/srv/sftpgo" /etc/sftpgo
Conclusion
Si le répertoire est vide et non utilisé :
rm -rf /srv/sftpgo
Recommandation
Adapter la configuration SFTPGo pour utiliser :
/var/sftpgo-homespour les homes techniques ;/var/lib/sftpgopour les données internes.
Le répertoire /srv/sftpgo ne doit pas être utilisé dans une architecture basée sur ZFS et virtual folders.
Organisation des données clients
Structure cible :
/var/data/<client>-data/
└── data/
├── pleade/
├── projets/
└── data-private/
Règles :
pleade: dépôt client principal ;projets: espace de travail client ;data-private: données internes (non exposées).
---
Bonnes pratiques
- ne jamais exposer
data-privatevia SFTPGo ; - limiter l’écriture aux seuls répertoires nécessaires ;
- conserver les droits Unix comme source de vérité ;
- utiliser SFTPGo comme couche de présentation et de contrôle.
---
Interaction avec rsync eole2 → eole3
Le rsync synchronise :
/var/data/<client>-data/ → /var/data/<client>-data/data/
Options utilisées :
-aHAX --numeric-ids --delete-after
Conséquences :
- les fichiers sont synchronisés depuis eole2 ;
- les permissions, ACL et propriétaires peuvent être écrasés ;
- les fichiers absents côté eole2 peuvent être supprimés.
⚠️ Recommandation :
- désactiver le cron rsync avant toute modification des droits ;
- ou travailler hors des répertoires synchronisés.
---
Conclusion
L’installation de SFTPGo repose sur :
- un service système dédié (
sftpgo) ; - un accès contrôlé aux données via le groupe
pleade; - une séparation claire entre :
* stockage réel (ZFS) ; * exposition logique (SFTPGo).
La configuration des accès utilisateurs se fait ensuite via l’interface Web de SFTPGo.