SGE et ACL

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
Doctorants
Ingenieurs
Stagiaire
Physiciens
Tests

Afficher le détail d’une ACL :

# qconf -su Doctorants
name Doctorants
type ACL DEPT
fshare 0
oticket 0
entries user1,user2,user3,user4,user5,user6,user7, \
user8,user9,user10,user11,user12

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
Schrödinger
Tesla
Mendeleïev

Toutes les ACL d’un projet :

# qconf -sprjl <Nom_Projet>

Exemple :

#qconf -sprj Schrödinger
acl_mort
acl_vivant
acl_zombie
acl_vampire
acl_fantome

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.

> Partager <