SGE est capable de gérer les ACl en interne.
Les ACL sont utilisées pour définir des projets auxquels des utilisateurs peuvent avoir accès (ou pas) pour exécuter des tâches. Il est possible de définir ces ACL en fonction des ressources du cluster
Pricipe de base
Ces ACL contiennent des noms d’utilisateur et de groupes UNIX et sont ajoutées aux listes access-allowed ou access-denied dans les files d’attente (queues) ou dans les environnement parallèle.
- Les utilisateurs appartenant aux ACL access-allowed (nommées
user_lists
) sont autorisés à accéder aux files d’attente ou à l’interface d’environnement parallèle. - Les utilisateurs appartenant aux ACL access-denied (nommées
xuser_lists
) ne peuvent pas accéder à la ressource en question.
Si un compte utilisateur ou groupe UNIX principal est associé à :
- une ACL autorisé : l’utilisateur peut pas accéder à la ressource
- une ACL refusé : l’utilisateur ne peut pas accéder à la ressource
- aucune ACL définie : l’utilisateur peut accéder à la ressource
Les configurations pour un cluster, hôte ou file d’attente définissent l’accès de la même manière que pour les ACL. Ces configurations utilisent les paramètres project_lists
et xproject_lists
Commandes ACL
Créer une ACL
Pour créer une ACL :
# qconf -Au Mon_ACL |
Modifier une ACL
Pour modifier une ACL :
# qconf -mu Mon_ACL |
(Voir MAN access_list(5) pour le format)
Supprimer une ACL
Pour supprimer une ACL :
# qconf -dul Mon_ACL |
Lister les ACL
Afficher la liste des ACL :
# qconf -sul |
Exemple :
# qconf -sul |
Afficher le détail d’une ACL :
# qconf -su Doctorants |
Le type de la liste d’accès, ici ACL et DEPT signifie que l’ACL peut être utilisée comme ACL ou département (section, groupe, etc.)
Format d’une ACL
https://linux.die.net/man/5/sge_access_list
Utilisateurs et ACL
Ajout utilisateur
Ajouter un utilisateur à une ACL :
# qconf -au <user> <ACL> |
Exemple :
# qconf -au emmetbrown Doctorant |
Supression utilisateur
Supprimer un utilisateur à une ACL :
# qconf du <user> <ACL> |
Lister les ACl pour les utilisateurs
Un user en particulier :
# qconf -suser <user> |
Shows the list of all currently defined users
# qconf -suserl |
Projets
Les projets sont définis via les ACL
Lister les projets :
# qconf -sprjl |
Exemple :
#qconf -sprjl |
Toutes les ACL d’un projet :
# qconf -sprjl <Nom_Projet> |
Exemple :
#qconf -sprj Schrödinger |
Si les accès sont autorisés sur un projet, un utilisateur pourra alors lancer son job sur le projet en question :
# qsub -P project-name options |
Documentation
https://docs.oracle.com/cd/E19957-01/820-0699/chp3-1/index.html
https://docs.oracle.com/cd/E19957-01/820-0699/6nce0ht7h/index.html
https://docs.oracle.com/cd/E19957-01/820-0698/6ncdvjclp/index.html
https://linux.die.net/man/5/sge_access_list
MAN queue_conf(5)
MAN sge_pe(5)
Chapitre 4, Gestion de l’accès utilisateur, dans le Guide d’administration de Sun N1 Grid Engine 6.1.