Guide d'administration système : Gestion des ressources des conteneurs et des zones Oracle Solaris

Administration des projets

ProcedureDéfinition d'un projet et affichage du projet actuel

Cet exemple montre comment utiliser la commande projadd pour ajouter une entrée de projet et la commande projmod pour modifier cette entrée.

  1. Connectez-vous en tant que superutilisateur ou prenez un rôle équivalent.

    Les rôles contiennent des autorisations et des commandes privilégiées. Pour plus d'informations au sujet des rôles, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Affichez le fichier /etc/project par défaut sur votre système à l'aide de l'instruction projects -l.


    # projects -l
    system:0::::
    user.root:1::::
    noproject:2::::
    default:3::::
    group.staff:10::::system
            projid : 0
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    user.root
            projid : 1
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    noproject
            projid : 2
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    default
            projid : 3
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    group.staff
            projid : 10
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
  3. Ajoutez un projet intitulé site-livre. Assignez le projet à un utilisateur appelé mark et possédant l'ID 4113.


    # projadd -U mark -p 4113 booksite
    
  4. Affichez à nouveau le fichier /etc/project.


    # projects -l
    system
            projid : 0
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    user.root
            projid : 1
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    noproject
            projid : 2
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    default
            projid : 3
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    group.staff
            projid : 10
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    booksite
            projid : 4113
            comment: ""
            users  : mark
            groups : (none)
            attribs: 
  5. Ajoutez un commentaire de description du projet dans le champ prévu à cet effet.


    # projmod -c `Book Auction Project' booksite
    
  6. Vérifiez les modifications dans le fichier /etc/project .


    # projects -l
    system
            projid : 0
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    user.root
            projid : 1
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    noproject
            projid : 2
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    default
            projid : 3
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    group.staff
            projid : 10
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    booksite
            projid : 4113
            comment: "Book Auction Project"
            users  : mark
            groups : (none)
            attribs: 
Voir aussi

Pour lier des projets, des tâches et des processus à un pool, reportez-vous à la section Définition des attributs des pools et liaison à un pool.

ProcedureSuppression d'un projet du fichier /etc/project

Cet exemple montre comment utiliser la commande projdel pour supprimer un projet.

  1. Connectez-vous en tant que superutilisateur ou prenez un rôle équivalent.

    Les rôles contiennent des autorisations et des commandes privilégiées. Pour plus d'informations au sujet des rôles, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Effacez le projet site-livre à l'aide de la commande projdel.


    # projdel booksite
    
  3. Affichez le fichier /etc/project.


    # projects -l
    system
            projid : 0
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    user.root
            projid : 1
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    noproject
            projid : 2
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    default
            projid : 3
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
    group.staff
            projid : 10
            comment: ""
            users  : (none)
            groups : (none)
            attribs: 
  4. Connectez-vous sous le nom d'utilisateur mark et tapez projects pour afficher la liste des projets assignés à cet utilisateur.


    # su - mark
    # projects
    default

Validation du contenu du fichier /etc/project

En l'absence d'option d'édition, la commande projmod valide le contenu du fichier project.

Pour valider une carte NIS, en tant que superutilisateur, entrez l'instruction suivante :


# ypcat project | projmod -f —

Remarque –

La commande ypcat project | projmod -f — n'est pas encore implémentée.


Pour vérifier la syntaxe du fichier /etc/project, entrez l'instruction suivante :


# projmod -n

Obtention des informations d'appartenance au projet

Associez la commande id à l'indicateur -p pour afficher l'appartenance actuelle au projet du processus d'appel.


$ id -p
uid=100(mark) gid=1(other) projid=3(default)

ProcedureCréation d'une tâche

  1. Connectez-vous en tant que membre du projet de destination, site-livre.

  2. Définissez une nouvelle tâche dans le projet site-livre en exécutant la commande newtask avec l'option -v (mode détaillé) afin d'obtenir l'ID de la tâche système.


    machine% newtask -v -p booksite
    16

    L'exécution de la commande newtask a pour effet de créer une tâche dans le projet indiqué et de placer le shell par défaut de l'utilisateur dans cette tâche.

  3. Affichez les critères d'appartenance actuelle au projet du processus appelant.


    machine% id -p
    uid=100(mark) gid=1(other) projid=4113(booksite)

    Le processus fait désormais partie du nouveau projet.

ProcedureTransfert d'un processus en cours vers une nouvelle tâche

Cet exemple montre comment associer un processus en cours d'exécution à une autre tâche et à un nouveau projet. Seul le superutilisateur ou le propriétaire du processus est en droit d'effectuer cette action. Il est indispensable également de faire partie des membres du nouveau projet.

  1. Connectez-vous en tant que superutilisateur ou prenez un rôle équivalent.

    Les rôles contiennent des autorisations et des commandes privilégiées. Pour plus d'informations au sujet des rôles, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.


    Remarque –

    Si vous êtes le propriétaire du processus ou un membre du nouveau projet, vous pouvez ignorer cette étape.


  2. Obtenez l'ID du processus catalogue_livres.


    # pgrep book_catalog
    	8100
  3. Associez le processus 8100 à un nouvel ID de tâche dans le projet site-livre.


    # newtask -v -p booksite -c 8100
    	17

    L'option -c indique que la commande newtask s'applique au processus nommé existant.

  4. Confirmez la tâche pour procéder à la correspondance de l'ID.


    # pgrep -T 17
    	8100