Guide d'administration du système Solaris Resource Manager 1.3

Création et suppression de noeuds limites

Chaque fois qu'un utilisateur est créé, un noeud limite correspondant doit être créé, et ses limites et privilèges définis. Lors de l'utilisation de Solaris Resource Manager, l'administrateur doit maintenir la base de données des limites en parallèle avec la correspondance normale des mots de passe Solaris. La commande

# limreport \!flag.real - uid lname 

peut être utilisée pour imprimer la liste des UID et des noms de compte des utilisateurs n'ayant pas de noeud limite correspondant.

Les noeuds limites ne sont pas créés et supprimés automatiquement par les commandes système utilisées pour créer et supprimer des comptes. Ces opérations doivent être effectuées par l'administrateur. Cependant, il est possible de créer des noeuds limites sur demande lorsque l'utilisateur établit une connexion. Reportez-vous à la rubrique Sous-système PAM pour de plus amples informations.

De même, juste avant de supprimer un compte dans la table des mots de passe, le noeud limite correspondant doit être effacé de la base de données des limites avec la commande limadm(1MSRM).


Remarque :

pour supprimer des noeuds limites, on doit s'assurer que les sous-arbres sont supprimés à partir du dernier noeud limite en remontant. Si vous commencez au sommet du sous-arbre à supprimer, vous perdrez le contrôle des enfants des noeuds limites qui ont été supprimés, car ils deviendront orphelins lorsque leurs parents seront effacés.


Si l'UID d'un utilisateur est modifié, le contenu de son noeud limite doit être copié vers le nouveau noeud correspondant au nouvel UID, puis le noeud d'origine doit être supprimé. Pour de plus amples informations, reportez-vous à la rubrique Copie et déplacement de noeuds limites.

Les noeuds enfants doivent être reliés au nouveau noeud limite ou à un autre noeud limite père approprié. La commande

# limreport 'sgroup==X' '%u\tsgroup=Y\n' uid | limadm set -u -f - 

permet de détecter tous les noeuds limites ayant un groupe d'ordonnancement père dont l'UID est X et d'en faire les enfants du noeud ayant l'UID Y.

Les étapes ci-après illustrent le changement d'UID d'un noeud limite de X à Y.

  1. Enregistrement de l'état du noeud limite dont l'UID doit être changé :

    # limreport 'uid==X' - lname preserve> /var/tmp/savelnode.X
    

  2. Remplacement de l'ancien UID (X) correspondant à cet utilisateur par le nouvel UID (Y) dans la table des mots de passe.

  3. Création d'un noeud limite pour le nouvel UID et restauration de l'état enregistré au préalable :

    # limadm set -f /var/tmp/savelnode.X
    

  4. Remplacement du groupe d'ordonnancement de tous les noeuds limites enfants du noeud à modifier (UID X) par le nouveau noeud limite (UID Y) :

    # limreport 'sgroup==X' '%u\tsgroup=Y\n' uid | limadm set -u -f -  
    

  5. Assurez-vous qu'aucun processus n'est relié à l'ancien noeud limite.

  6. Utilisez la commande chown(2) pour remplacer le propriétaire de tous les fichiers de l'UID d'origine par celui du nouvel UID. Par exemple :

    # find / -user X -print | xargs chown Y
    

  7. Supprimez l'ancien noeud limite :

    # limadm delete X
    

Programmes de maintenance des noeuds limites

La commande limadm est le principal outil de maintenance des noeuds limites dont les administrateurs disposent. Elle permet de changer les valeurs d'attribut de Solaris Resource Manager pour une liste de comptes utilisateur. Si aucun noeud limite n'existe pour un utilisateur, un noeud vide est d'abord créé par défaut. Voici les propriétés des nouveaux noeuds limites :

Le groupe d'ordonnancement du nouveau noeud limite est réglé à l'utilisateur Autre (srmother) si un noeud limite existe pour ce compte d'utilisateur, ou au noeud limite racine si ce n'est pas le cas.

L'appelant de limadm doit disposer de privilèges d'administration suffisants pour effectuer les changements indiqués. L'appelant doit être le superutilisateur, doit avoir un indicateur uselimadm activé, ou être un sous-administrateur qui change uniquement les attributs des membres du groupe d'ordonnancement auquel l'appelant appartient. Des restrictions s'appliquent pour l'utilisation de limadm par les administrateurs de groupe.

La commande limadm permet à un administrateur de supprimer un noeud limite sans effacer le compte correspondant dans la table des mots de passe. Pour utiliser limadm, l'appelant doit être le superutilisateur ou avoir un indicateur uselimadm activé. Si l'appelant a seulement un indicateur admin activé, il peut uniquement modifier les noeuds limites des utilisateurs sous les groupes d'ordonnancement pour lesquels il est le chef de groupe.