PowerScale : OneFS : Gestion des autorisations Windows (ACL) à partir de l’interface de ligne de commande OneFS
Summary: Il est recommandé de gérer les autorisations Windows en vous connectant au dossier via SMB et à l’aide de l’interface de l’Explorateur Windows. Il existe cependant des cas où l’utilisation de la CLI peut être souhaitée. Cet article explique comment procéder. ...
Instructions
ls -led <path to file/folder>Par exemple :
# ls -led file -rwxrwxrwx + 1 root wheel 0 Jul 2 14:02 file OWNER: user:root GROUP: group:wheel 0: group:Users allow file_gen_read,file_gen_write 1: user:root allow file_gen_read,file_gen_write,std_write_dac 2: group:wheel allow file_gen_read 3: everyone allow file_gen_all
Modification des autorisations
Pour modifier les autorisations dans l’interface de ligne de commande en utilisant chmod, vous devez être connecté en tant que root.
Il existe deux façons d’identifier les entrées d’autorisation souhaitées à placer dans la liste de contrôle d’accès (ACL). La première est recommandée si possible.
- Localisez ou créez un fichier/dossier avec les autorisations souhaitées sur SMB et exécutez
ls -led <file or folder>. Il peut s’agir de n’importe quelle entrée d’autorisation sur n’importe quel utilisateur/groupe, sur n’importe quel fichier/dossier sur n’importe quel Isilon, tant qu’il dispose des autorisations souhaitées. - Affichez la description de chaque entrée d’autorisation dans le manuel pour
chmod(man chmod) et identifiez ceux dont vous avez besoin pour votre flux de travail.
Ajout d’une nouvelle entrée d’autorisation pour un utilisateur/groupe
Pour cet exemple, j’utilise la méthode 1, mais la commande de définition des autorisations est la même, que vous ayez identifié les types d’autorisations à ajouter dans le manuel pour chmod (man chmod) ou en examinant un fichier avec les autorisations souhaitées.
La commande pour les utilisateurs et les groupes est la même, à l’exception du mot «user' est remplacé par 'group' ou vice versa : chmod +a group "<domain name>\<group name>" allow <permissions to add> <file or folder>
Par exemple, si je souhaite définir l’entrée d’autorisations pour le fichier, le groupe de l’utilisateur ci-dessus file2 Pour le domaine Active Directory 'AD' groupe 'domain users' J’utiliserais cette commande :
# chmod +a group "AD\domain users" allow file_gen_read,file_gen_write file2 # ls -led file2 -rw-rw-r-- + 1 root wheel 0 Jul 2 14:09 file2 OWNER: user:root GROUP: group:wheel 0: group:Domain Users allow file_gen_read,file_gen_write 1: user:root allow file_gen_read,file_gen_write,std_write_dac 2: group:wheel allow file_gen_read 3: everyone allow file_gen_read
Pour supprimer une entrée de contrôle d’accès, vous pouvez supprimer toute la ligne correspondant à l’utilisateur ou au groupe souhaité ou aux types d’autorisations que vous souhaitez supprimer, puis ajouter une nouvelle entrée avec les autorisations souhaitées. La commande permettant de supprimer une entrée est identique à la commande permettant d’en ajouter une, sauf que vous modifiez '+a' avec '-a'. Par exemple, si je souhaite supprimer l’entrée du fichier ci-dessus pour l’utilisateur root, j’utilise cette commande :
# chmod -a user root allow file_gen_read,file_gen_write,std_write_dac file # ls -led file -rwxrwxrwx + 1 root wheel 0 Jul 2 14:02 file OWNER: user:root GROUP: group:wheel 0: group:Users allow file_gen_read,file_gen_write 1: group:wheel allow file_gen_read 2: everyone allow file_gen_all
Pour les groupes bien connus tels que tout le monde, laissez de côté le groupe. Par exemple, si je souhaite également supprimer l’accès en écriture de tout le monde, mais conserver les autres niveaux d’accès du fichier ci-dessus, j’utiliserais cette commande :
# chmod -a everyone allow file_gen_write file # ls -led file -rwxrwxr-x + 1 root wheel 0 Jul 2 14:02 file OWNER: user:root GROUP: group:wheel 0: group:Users allow file_gen_read,file_gen_write 1: group:wheel allow file_gen_read 2: everyone allow std_delete,std_write_dac,std_write_owner,file_read,file_read_ext_attr,execute,delete_child,file_read_attr
Pour activer l’héritage pour les nouveaux fichiers et dossiers, ajoutez à l’entrée d’autorisation 'object_inherit' et 'container_inherit' respectivement. Par exemple, si je souhaite ajouter une entrée pour les utilisateurs du groupe local dans un dossier dir Pour accorder un accès complet et hériter des nouveaux fichiers et dossiers, j’utilise cette commande :
# chmod +a group users allow dir_gen_all,object_inherit,container_inherit dir # ls -led dir drwxrwxr-x + 2 root wheel 0 Jul 2 14:22 dir OWNER: user:root GROUP: group:wheel 0: group:Users allow dir_gen_all,object_inherit,container_inherit 1: user:root allow dir_gen_read,dir_gen_write,dir_gen_execute,std_write_dac,delete_child 2: group:wheel allow dir_gen_read,dir_gen_execute 3: everyone allow dir_gen_read,dir_gen_execute
Vous pouvez également modifier les ACE à l’aide des SID, UID ou GID. Pour ce faire, voici quelques exemples de syntaxe :
chmod +a sid <actual SID> <target path> chmod +a user <actual UID> <target path> chmod +a group <actual GID> <target path>
Additional Information
Cet article Microsoft décrit chaque type d’autorisation tel qu’il est décrit par Windows, mais vous trouverez des détails sur chaque type d’autorisation affiché avec ls led sur PowerScale, voir man chmod.
Autorisations relatives aux fichiers et dossiers
Références
Dell PowerScale OneFS : Authentification, gestion des identités et autorisation (delltechnologies.com)Listes de contrôle d’accès sur Dell EMC PowerScale OneFS (delltechnologies.com)