Synology : Changer la racine FTP d’un utilisateur (chroot)

synology nas

Tutoriel pour changer la racine (home, chroot…) FTP des utilisateurs sur Synology

 

Comment changer ou déplacer le dossier « Home » de vos utilisateurs Synology ?

Ou tout simplement supprimer / ne pas afficher le dossier quand les utilisateurs se connectent en FTP ?

 

 

Pré requis

Ce tutoriel s’adresse aux possesseurs d’un NAS Synology voulant directement chrooter certain users dans un répertoire bien précis, sans leur laisser de choix ni de folder « home » à la connexion.

Il faut pour cela être admin sur le NAS, et avoir le SSH d’activé afin de pouvoir effectuer quelques manipulations en ligne de commande, hors du fameux interface web « DSM » de Syno.

Dans cet exemple, nous prenons un utilisateur super originalement intitulé.. « toto », étant chrooté dans un dossier « totohome » sur un volume « web ».

 

 

Étape 1 : Créer l’utilisateur toto

Se connecter à l’interface web DSM du NAS en tant qu’admin. (http://IP_de_mon_NAS:5000 par défaut)

Aller dans « Panneau de configuration » puis « Utilisateur ».

Créer l’utilisateur toto (Adapter si besoin : ajouter le user au groupe « users », laisser les droits par défaut (pas d’accès), ne pas attribuer de quota, n’accorder que le droit au FTP  et ne pas limiter la vitesse, puis valider)

 

 

Étape 2 : Activer le « Chroot » (changer la racine) pour le user « toto » que l’on vient de créer

Retourner dans le panneau de configuration et aller au menu « FTP ».

Se rendre dans les « Paramètres avancées », « Changer la racine… » : Sélectionner alors le user « toto » et l’ajouter à la liste.

chroot_ftp_synology

 

 

Étape 3 : Créer le dossier « totohome » du user « toto » :

Ouvrir le File Station et aller sur le volume « web », et créer un dossier « totohome ».

 

 

Étape 4 : Se connecter en ssh pour « chrooter » la racine du compte FTP créé :

A partir de la version 6 du DSM (voir ici), on ne peut plus se connecter en root en ssh directement ; il faut se connecter en admin, puis passer root :

Se connecter en SSH au NAS Synology (pour activer l’accès SSH sur les NAS Synology, il faut se rendre dans le panneau de configuration, puis section « Applications » et menu « Terminal et SNMP ») :

ssh admin@IP_de_mon_NAS

Puis passer root :

sudo -i

Aller dans « /var/services/homes » :

cd /var/services/homes

Supprimer le folder du user créé (ici toto) :

rm –R toto/

Créer le lien symbolique :

ln –s /volume1/web/totohome /var/services/homes/toto

 

La syntaxe est :

ln –s path/folder path/login

 

Attention ! : le nom et la casse doivent être identiques = le répertoire « chroot » doit avoir exactement le même nom que le login/identifiant de l’utilisateur créé

 

Pensez bien évidement à adapter en fonction de votre configuration si vous possédez plusieurs volumes !

 

Vérifier que le lien pointe bien au bon endroit :

ls -ll

 

 

Voilà ! A la fin de cette étape, vous devez être apte à vous connecter en FTP avec le compte « toto », et tomber directement (/) à la racine du répertoire « totohome » que vous avez placé selon vos exigences, et le dossier home de l’utilisateur a disparu ! 😉

 

 

4 réflexions au sujet de « Synology : Changer la racine FTP d’un utilisateur (chroot) »

  1. la manipulation est interessante, il reste la question de la sauvegarde …. Si l’on est obligé de refaire la configuration du nas, il serait bien de pouvoir réimporter toutes ces modifications, aussi comment faire ? merci.

    1. Si la configuration refaite conserve les chemins/arborescences identiques, une archive tar ou gzip devrait faire l’affaire !
      Sinon, conserver le résultat du ls -ll pour l’adapter sur une nouvelle config

  2. Je n’arrive pas à parvenir au but. Le lien symbolique se créé bien par contre la commande ls -ll me renvoit total 0.
    Le lien symbolique n’est pas visible dans le DSM. Il est visible en FTP mais ne fonctionne pas avec le message impossible de résoudre le lien symbolique. Fichier introuvable.

    1. Êtes-vous bien en root ? (sudo -i une fois connecté)
      Êtes-vous bien dans le répertoire /var/services/homes avant de créer le lien symbolique ? (cd /var/services/homes)
      La commande ls -ll doit vous retourner plusieurs éléments (au minimum le dossier de l’utilisateur admin) dont le lien symbolique créé.
      Si la commande ls -ll ne vous affiche rien, vous ne devez pas être dans le bon dossier.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.