Isilon : OneFS 8.X et versions ultérieures : Comment verrouiller des utilisateurs FTP de type chroot jail dans un répertoire spécifique
Summary: Cet article explique comment utiliser la commande isi ftp pour configurer l’accès aux répertoires du cluster pour les utilisateurs qui se connectent à l’aide de FTP.
Instructions
Les éléments suivants seront abordés :
- Vérification des paramètres FTP actuels
- Explication des paramètres généralement réglés
- Comportements par défaut
- Orientation d’utilisateurs vers un répertoire spécifique
- Limitation des utilisateurs à une arborescence de répertoires
Vérification des paramètres FTP actuels
sa8004-1# isi ftp view Accept Timeout: 1m Allow Anon Access: No Allow Anon Upload: Yes Allow Dirlists: Yes Allow Downloads: Yes Allow Local Access: Yes Allow Writes: Yes Always Chdir Homedir: Yes Anon Chown Username: root Anon Password List: - Anon Root Path: /ifs/home/ftp Anon Umask: 0077 Ascii Mode: off Chroot Exception List: - Chroot Local Mode: none Connect Timeout: 1m Data Timeout: 5m Denied User List: - Dirlist Localtime: No Dirlist Names: hide File Create Perm: 0666 Limit Anon Passwords: No Local Root Path: - Local Umask: 0077 Server To Server: No Session Support: Yes Session Timeout: 5m User Config Dir: - FTP Service Enabled: Yes
Paramètres généralement réglés
Souvent, certains paramètres liés à la façon dont les utilisateurs sont acheminés lors de la connexion sont modifiés :
- Always Chdir (modifier le répertoire de travail) Homedir (répertoire de base)
isi ftp modify --always-chdir-homedir=[true|false]- Définit si Isilon autorise ou non un utilisateur à utiliser FTP directement dans un répertoire autre que le répertoire de départ
- Liste d’exceptions Chroot
isi ftp modify --chroot-exception-list=["comma separated list of usernames"]- Définit qui peut contourner
Chroot Local Mode
- Mode local Chroot
isi ftp modify --chroot-local-mode=['all','all-with-exceptions','none','none-with-exceptions']- Définit si oui ou non
chrootest appliqué et comment nous l’appliquons- Tous | L’accès utilisateur est limité à
Local Root Pathet les enfants - Tous avec exceptions | Tous les utilisateurs, à l’exception de ceux de
Chroot Exception Listsont limités àLocal Root Pathet les enfants - aucun | L’accès utilisateur n’est pas limité au
Local Root Path - Aucun-avec-exceptions | Aucun utilisateur, à l’exception de ceux de
Chroot Exception Listsont limités àLocal Root Pathet les enfants
- Tous | L’accès utilisateur est limité à
- Chemin racine local
isi ftp modify --local-root-path=['/ifs/ftp/path']- Définit l’endroit où les utilisateurs FTP sont amenés lors de la connexion. S’il n’est pas renseigné, il est défini par défaut sur le répertoire de base de l’utilisateur
Comportements FTP par défaut
Voici comment le service FTP se comportera par défaut.
- Autoriser l’accès anonyme : Aucune
- Toujours le répertoire de base : Oui
- Mode local Chroot : aucun
- Chemin racine local : -
Cela signifie que seuls les utilisateurs présents sur un fournisseur d’authentification seront autorisés à accéder au cluster par FTP. Le système démarre toujours une connexion en les envoyant à leurs répertoires racine, puis leur permet de le parcourir librement (en fonction de l’évaluation des autorisations). Depuis Local Root Path n’est pas défini, les utilisateurs seront dirigés vers le chemin spécifié dans leur profil utilisateur. Vous pouvez vérifier cela avec isi auth users $username | grep Home où $username est remplacé par le nom d’utilisateur que vous vérifiez. Voici un exemple avec un utilisateur local :
sa8004-1# isi auth users view xavier | grep Home Home Directory: /ifs/home/xavier
Dans la configuration par défaut, l’utilisateur ci-dessus se connecte à Isilon, est acheminé vers /ifs/home/xavier (quel que soit le chemin défini lors de la connexion), et pourrait alors changer de répertoire pour /ifs/home/ depuis Chroot Local Mode est défini sur Aucun.
Orientation d’utilisateurs vers un répertoire spécifique
Par défaut, les utilisateurs qui se connectent au service FTP OneFS sont acheminés vers leur répertoire de base. Cependant, les clients préfèrent souvent que le FTP fonctionne davantage comme un Dropbox. Dans ce cas, il vous suffit de modifier le paramètre Local Root Path. Les utilisateurs seront alors acheminés vers ce chemin au lieu de leur répertoire de base. Si vous définissez cette valeur sur <une valeur vide> , le répertoire sera réinitialisé dans les répertoires de base.
Voici des exemples de ces commandes :
# Routing to /ifs/ftp sa8004-1# isi ftp modify --local-root-path=/ifs/ftp # Restoring to default sa8004-1# isi ftp modify --local-root-path=''
Limitation des utilisateurs à une arborescence de répertoires
Par défaut, les utilisateurs qui se connectent au service FTP OneFS peuvent voir l’ensemble du système de fichiers et le parcourir s’ils sont autorisés à le faire (nous vérifions toujours le nom d’utilisateur, etc.). Toutefois, de nombreux clients préfèrent que leurs utilisateurs restent limités uniquement à la partie du système de fichiers qui les concerne. Pour ce faire, le paramètre Chroot Local Mode. Lorsque ce paramètre est appliqué à un utilisateur, celui-ci ne peut accéder ou voir que les fichiers situés sous son Root Path. Par défaut, ce paramètre est défini sur None, mais le paramètre peut être appliqué de 4 façons différentes.
Ajustez ce paramètre à l’aide de isi ftp modify --chroot-local-mode=['all','all-with-exceptions','none','none-with-exceptions']
- Tous | L’accès utilisateur est limité à
Local Root Pathet les enfants - Tous avec exceptions | Tous les utilisateurs, à l’exception de ceux de
Chroot Exception Listsont limités àLocal Root Pathet les enfants - aucun | L’accès utilisateur n’est pas limité au
Local Root Path - Aucun-avec-exceptions | Aucun utilisateur, à l’exception de ceux de
Chroot Exception Listsont limités àLocal Root Pathet les enfants
Ajouter des exceptions avec isi ftp modify --chroot-exception-list=["comma separated list of usernames"]
Voici un exemple dans lequel nous limitons tous les utilisateurs, sauf un, à /ifs/ftp. Cet utilisateur démarrera quand même sa connexion, mais pourra voir le reste de /ifs/
# Adding user to exception list sa8004-1# isi ftp modify --chroot-exception-list=xavier # Routing all logins to `/ifs/ftp` sa8004-1# isi ftp modify --local-root-path=/ifs/ftp # Limiting everyone by `xavier` to the Local Root Path sa8004-1# isi ftp modify --chroot-local-mode=all-with-exceptions
Remarques
Référence des commandes :
- Guide d’administration CLI PowerScale OneFS
- Ce guide d’administration ne définit pas le comportement de toutes les commandes