Ce chapitre traite de l'interface de ligne de commande (appelée aussi CLI) de Sun Desktop Manager.
La CLI sert à créer, manipuler, exporter, importer et supprimer des profils de configuration. Comme avec l'interface utilisateur graphique de Desktop Manager, la CLI permet d'effectuer les opérations suivantes :
Vous pouvez assigner des profils à des éléments et annuler leur assignation.
Vous pouvez exporter et importer des profils au format XML depuis ou vers des fichiers au format Zip. Les paramètres de profil de ces fichiers ZIP peuvent être créés, modifiés ou supprimés avant l'importation des profils.
La CLI ne propose pas de fonctionnalité équivalente à celle de l'interface graphique pour les fonctions suivantes :
Navigation dans la hiérarchie des éléments
Affichage des paramètres de profils fusionnés pour les éléments
Génération de rapports
Accès aux moteurs de traitement de type fichier ou hybrides (seul le moteur de traitement LDAP est accessible)
La CLI est constituée de la commande pgtool, qui utilise le mode de commande à une ligne et exécute une commande à la fois. pgtool contient un certain nombre de sous-commandes, d'options et d'opérandes qui sont décrits dans la Synthèse des commandes. Vous pouvez spécifier les options à l'aide d'un mot clé entier ou court. Dans les descriptions de commandes suivantes, les mots clés entiers sont utilisés, mais les raccourcis correspondants sont présentés dans le Tableau 3–2.
Des informations d'initialisation sont nécessaires pour localiser et interroger le magasin de données qui renferme les éléments et profils. Il s'agit, en l'occurrence du serveur, du numéro de port, du DN de base et du nom d'utilisateur de l'administrateur. Vous pouvez spécifier ces informations sur la ligne de commande ou dans un fichier d'initialisation.
Les informations d'initialisation peuvent être lues à partir d'un fichier de propriétés. Il est possible de spécifier l'emplacement de ce fichier sur la ligne de commande au moyen de l'option --file.
--file=<fichier d'initialisation> : chemin d'accès complet au fichier d'initialisation. Le fichier par défaut est $HOME/pgtool.properties.
Exemple : --file=/var/opt/apoc/cli.properties.
Le format de ce fichier est décrit à l'Annexe A, Paramètres de configuration du Guide d’installation de Sun Desktop Manager 1.0.
Vous pouvez définir le mode d'initialisation sur la ligne de commande à l'aide des options --url et --username.
--url=<url> : URL identifiant le magasin de données. L'URL respecte le format suivant : ldap://<nom d'hôte>:<port>/<nom de base>, <nom d'hôte> étant le nom du serveur (par défaut, il s'agit de l'hôte local), <port> correspond au numéro du port sur le serveur (389 par défaut) et <nom de base> fait référence au DN de l'entrée de base.
Exemple : --url=ldap://serveur1.sun.com:399/o=apoc.
--username=<nom d'utilisateur> : nom d'utilisateur de l'administrateur dans le format utilisé par le moteur de traitement de stockage. L'administrateur est ensuite invité à saisir un mot de passe. Si cette option n'est pas utilisée et que l'utilisateur n'a pas exécuté la sous-commande pgtool login, l'administrateur est invité à saisir un nom d'utilisateur et un mot de passe.
Exemple : --username=“jdupont”.
Un nom d'utilisateur et un mot de passe sont requis pour chaque exécution d'une commande.
La CLI dispose d'une commande de connexion qui permet de stocker des paires nom d'utilisateur/mot de passe dans un fichier d'identification dans le répertoire personnel de l'administrateur. Ce fichier appelé .apocpass offre un droit d'accès limité.
Si l'authentification réussit, une entrée correspondant à la paire nom d'utilisateur/mot de passe est ajoutée au fichier .apocpass. La clé de cette paire se compose du serveur/port/DN de base et du nom d'utilisateur, ce qui permet de stocker des paires nom d'utilisateur/mot de passe pour d'autres moteurs de traitement au sein du même fichier.
Une fois que la commande de connexion a réussi, d'autres commandes CLI peuvent être exécutées sans qu'il soit nécessaire de spécifier un nom d'utilisateur ou un mot de passe.
Pour en savoir plus sur l'utilisation de la commande de connexion (login), reportez-vous à la section Se connecter (login).
Pour les autres commandes, la CLI vérifie d'abord s'il existe un fichier .apocpass pour l'utilisateur actuel.
Dans le cas contraire, l'utilisateur est invité à saisir un nom d'utilisateur et un mot de passe. Si ce nom d'utilisateur et ce mot de passe sont correctement authentifiés, la commande est exécutée.
Si le fichier d'identification existe et qu'un nom d'utilisateur a été spécifié dans la ligne de commande, la CLI recherche une entrée pour cet hôte, ce port, ce DN de base et ce nom d'utilisateur. Si l'entrée existe, le DN et le mot de passe utilisateur stockés sont utilisés pour exécuter la commande. Sinon, l'utilisateur est invité à saisir un mot de passe.
Si aucun nom d'utilisateur n'est spécifié dans la ligne de commande, les clés utilisant l'association hôte/port et DN de base sont recherchées dans le fichier .apocpass. S'il existe une seule entrée pour cette association, le DN et le mot de passe utilisateur stockés sont utilisés pour exécuter la commande. Dans le cas contraire, l'utilisateur est invité à saisir un nom d'utilisateur. Si celui-ci correspond à une entrée, le DN et le mot de passe utilisateur stockés sont utilisés pour exécuter la commande. Dans le cas contraire, l'utilisateur est invité à saisir un mot de passe.
Lorsque l'utilisateur est invité à saisir un mot de passe, une entrée du fichier .apocpass correspondant à cette association hôte/port/DN de base est utilisée pour authentifier le nom d'utilisateur et le mot de passe. Si cette entrée n'existe pas, un accès anonyme est utilisé pour l'authentification.
Chaque utilisation d'une commande crée et initialise une connexion au magasin de données, puis l'interrompt une fois la commande exécutée. Si la commande se termine avec un code error, aucune modification n'est apportée aux profils de configuration.
Un élément est représenté par son nom distinctif (DN) LDAP complet.
Exemple : uid=jdupont,ou=People,o=apoc.
Cette section décrit les sous-commandes spécifiques à l'interface de ligne de commande (CLI) de Desktop Manager.
Pour des raisons de compatibilité avec les versions antérieures, la CLI utilise l'option --entity pour spécifier ce qui est maintenant appelé un élément dans l'interface utilisateur de Desktop Manager. Ces termes sont interchangeables. Il n'existe pas d'option --element.
Pour obtenir la liste de toutes les commandes CLI disponibles, saisissez pgtool --help.
Pour afficher les informations de version, saisissez pgtool --version.
Assigne un profil à un élément.
Syntaxe
add [--scope=<user|host>] [--entity=<entité>] <nom du profil> <entité cible>
--scope=<user|host> : étendue du profil (utilisateur ou hôte). Si aucune information n'est spécifiée, l'étendue utilisateur est utilisée par défaut.
--entity=<entité> : élément où réside le profil. Si aucune information n'est spécifiée, c'est l'élément de l'organisation ou du domaine racine qui est utilisé par défaut, en fonction de l'option --scope.
<nom du profil> : nom du profil à assigner à l'élément. Si aucun profil ou plusieurs profils du même nom et de même étendue sont détectés au niveau de cette couche, la commande échoue et génère une erreur.
<entité cible> : élément auquel le profil est assigné.
% pgtool add ProfilUtilisateur1 cn=Role1,o=staff,o=apoc
Le profil “ProfilUtilisateur1” figurant dans l'organisation racine a été assigné à l'élément “cn=Role1,o=staff,o=apoc”.
Génère un nouveau profil vide.
Syntaxe
create [--name=<nom du profil>] [--scope=<user|host>] [--entity=<entité>] [--priority=<priorité>]
--name=<nom du profil> : nom du profil à créer. Si un profil portant ce nom et ayant cette étendue existe déjà au niveau de cette couche, la commande échoue et génère une erreur. Si aucun nom n'est spécifié, la commande utilise par défaut le premier nom de profil disponible dans la série, par exemple, “NouveauProfil”, “NouveauProfil2”, “NouveauProfil3”, ...
--scope=<user|host> : étendue du profil (utilisateur ou hôte). Si aucune information n'est spécifiée, l'étendue utilisateur est utilisée par défaut.
--entity=<entité> : élément où le profil est créé. Si aucune information n'est spécifiée, c'est l'élément de l'organisation ou du domaine racine qui est utilisé par défaut, en fonction de l'option --scope.
--priority=<priorité> : nombre entier strictement positif définissant le niveau de priorité du profil. Si la priorité spécifiée est la même que celle d'un profil existant de même étendue et de même couche, l'option priority est ignorée. Si aucune information n'est spécifiée, le profil créé possèdera le niveau de priorité le plus élevé pour cette couche.
% pgtool create --scope=host --name=NouveauProfilHôte1
Génère un nouveau profil appelé “NouveauProfilHôte1” à la racine du domaine et dont l'étendue correspond à “hôte”.
Supprime un profil.
Syntaxe
delete --name=<nom du profil> [--scope=<user|host>] [--entity=<entité>]
--name=<nom du profil> : nom du profil à supprimer. Cette option est obligatoire. Si aucun profil ou plusieurs profils du même nom et de même étendue sont détectés au niveau de cette couche, la commande échoue et génère une erreur.
--scope=<user|host> : étendue du profil (utilisateur ou hôte). Si aucune information n'est spécifiée, l'étendue utilisateur est utilisée par défaut.
--entity=<entité> : élément où réside le profil. Si aucune information n'est spécifiée, c'est l'élément de l'organisation ou du domaine racine qui est utilisé par défaut, en fonction de l'option --scope.
% pgtool delete --scope=host --name=NouveauProfilHôte1renommé
Supprime le profil “NouveauProfilHôte1renommé” situé dans le domaine racine.
Exporte les profils vers un emplacement cible dans un format compressé (fichier ZIP).
Syntaxe
export --name=<nom du profil> [--scope=<user|host>] [--entity=<entité>] <cible>
--name=<nom du profil> : nom du profil à exporter. Cette option est obligatoire. Si aucun profil ou plusieurs profils du même nom et de même étendue sont détectés au niveau de cette couche, la commande échoue et génère une erreur.
--scope=<user|host> : étendue du profil (utilisateur ou hôte). Si aucune information n'est spécifiée, l'étendue utilisateur est utilisée par défaut.
--entity=<entité> : élément où réside le profil. Si aucune information n'est spécifiée, c'est l'élément de l'organisation ou du domaine racine qui est utilisé par défaut, en fonction de l'option --scope.
<cible> : chemin complet du fichier ZIP où le profil est exporté. Si le chemin d'accès ne contient pas de nom de fichier, le nom de fichier choisi par défaut correspond à <nom du profil>.zip. S'il est impossible d'écrire sur la cible, la commande échoue et génère une erreur.
% pgtool export --scope=host --name=ProfilHôte1 /tmp/newdir
“ProfilHôte1” (figurant dans le domaine racine) a été exporté vers ProfilHôte1.zip créé dans le nouveau répertoire /tmp/newdir.
Importe un profil stocké sous forme de fichier compressé (ZIP) à partir de la source spécifiée. La source contient les profils à importer dans le profil.
Syntaxe
import [--name=<nom du profil>] [--scope=<user|host>] [--entity=<entité>] [--priority=<priorité>] <source>
--name=<nom du profil> : nom du profil à importer. En l'absence d'information, c'est le nom du fichier source ZIP qui est utilisé par défaut. Si un profil de ce nom et de cette étendue existe déjà au niveau de cette couche, il est remplacé.
--scope=<user|host> : étendue du profil (utilisateur ou hôte). Si aucune information n'est spécifiée, l'étendue utilisateur est utilisée par défaut.
--entity=<entité> : élément où réside le profil. Si aucune information n'est spécifiée, c'est l'élément de l'organisation ou du domaine racine qui est utilisé par défaut, en fonction de l'option --scope.
--priority=<priorité> : nombre entier strictement positif définissant le niveau de priorité du profil. Si la priorité spécifiée est la même que celle d'un profil existant de même étendue et de même couche, cette option est ignorée. Si aucune information n'est spécifiée, le profil importé possèdera le niveau de priorité le plus élevé pour cette couche.
<source> : chemin d'accès complet au fichier ZIP contenant les profils à importer.
% pgtool import --scope=host --name=NouveauProfilHôte1 --priority=7 /tmp/ProfilHôte1.zip
Le profil appelé “NouveauProfilHôte1”, correspondant à l'étendue “hôte” et à la priorité “7” et situé dans le domaine racine a été importé à partir de ProfilHôte1.zip.
Établit la liste de l'ensemble des profils ou des assignations d'éléments/profils.
Si vous omettez de spécifier l'option --name ou l'option --entity, vous obtenez la liste de tous les profils utilisateur ou hôte, selon le paramètre choisi pour l'option --scope.
Si vous spécifiez l'option --name, tous les éléments assignés à ce profil sont répertoriés.
Si vous spécifiez l'option --entity, tous les profils assignés à l'élément indiqué sont répertoriés.
Syntaxe
list [--scope=<user|host>] [--entity=<entité>] [--name =<nom du profil>]
--scope=<user|host> : étendue du profil (utilisateur ou hôte). Si aucune information n'est spécifiée, l'étendue utilisateur est utilisée par défaut.
--entity=<entité> : élément où figure le profil, à condition de spécifier l'option --name. Dans le cas contraire, l'instruction désigne l'élément auquel les profils à répertorier sont assignés. Si aucune information n'est spécifiée, c'est l'élément de l'organisation ou du domaine racine qui est utilisé par défaut, en fonction de l'option --scope.
--name=<nom du profil> : nom du profil pour lequel il convient de répertorier les éléments assignés. Si aucun profil ou plusieurs profils du même nom et de même étendue sont détectés au niveau de cette couche, la commande échoue et génère une erreur.
% pgtool list
Établit la liste des profils assignés à l'organisation racine.
% pgtool list --scope=host --name=ProfilHôte1
Répertorie les éléments assignés au profil “ProfilHôte1” situé dans le domaine racine.
Stocke le nom d'utilisateur et le mot de passe correspondant au moteur de traitement du magasin de données, à l'issue de la procédure d'authentification à ce magasin de données. Ce nom d'utilisateur et ce mot de passe peuvent ensuite être utilisés dans les appels de pgtool.
Les données d'identification sont stockées dans un fichier appelé .apocpass dans le répertoire principal de l'administrateur. Si ce fichier existe déjà et qu'il ne dispose pas des autorisations requises, la commande échoue et génère une erreur.
Si un nom d'utilisateur est spécifié, l'administrateur est invité à saisir un mot de passe. Dans le cas contraire, l'administrateur est invité à saisir un nom d'utilisateur et un mot de passe. Le nom d'utilisateur et le mot de passe sont authentifiés par le biais d'un accès anonyme au magasin de données. Si l'accès anonyme n'est pas pris en charge, l'administrateur est invité à saisir un nom d'utilisateur autorisé et un mot de passe. Si l'authentification par le nom d'utilisateur autorisé échoue, la commande échoue et génère une erreur.
Si l'authentification réussit, la paire nom d'utilisateur/mot de passe est enregistrée dans le fichier .apocpass de l'administrateur. La clé utilisée pour stocker cette paire pour d'autres moteurs de traitement au sein du même fichier se compose de l'association hôte/port/DN de base et du nom d'utilisateur.
Les données d'initialisation peuvent être définies dans la commande à l'aide de l'option --file afin de désigner le fichier qui s'y rapporte ou à l'aide de l'option --url pour spécifier directement ces informations. Pour en savoir plus au sujet de l'initialisation, reportez-vous à la section Informations d'initialisation requises par la CLI.
Si les informations d'initialisation ne sont pas disponibles ou si le fichier d'identification ne peut pas être créé, la commande échoue et génère une erreur.
Si la création du fichier d'identification réussit, il n'est pas nécessaire de spécifier de nom d'utilisateur et de mot de passe pour les commandes pgtool suivantes qui utilisent ce moteur de traitement de stockage : les informations sur le nom d'utilisateur et le mot de passe stockées dans le fichier d'identification sont utilisées.
Syntaxe
login [--username=<nom d'utilisateur>] [--file=<fichier d'initialisation>] [--url=<url>]
--username=<nom d'utilisateur> : nom d'utilisateur de l'administrateur au format utilisé par le moteur de traitement de stockage, par exemple “jdupont”.
--file=<fichier d'initialisation> : chemin complet au fichier d'initialisation. Le fichier par défaut est $HOME/pgtool.properties. Cette option n'est pas compatible avec l'option --url.
--url=<url> : URL identifiant le magasin de données. L'URL respecte le format suivant : ldap://<nom d'hôte>:<port>/<nom de base>, <nom d'hôte> étant le nom du serveur (il s'agit de l'hôte local par défaut), <port> correspond au numéro du port sur le serveur (389 par défaut) et <nom de base> fait référence au DN de l'entrée de base.
% pgtool login --username=jdupont [Entrez le mot de passe correct à l'invite]
Un fichier, appelé ~/.apocpass correspondant à l'entrée pour “jdupont” et au mot de passe “password”, possède le numéro d'autorisation 600. Les informations relatives au moteur de traitement auquel se connecter figurent dans le fichier d'initialisation par défaut ~/pgtool.properties
Change le niveau de priorité d'un profil.
Syntaxe
modify [--scope=<user|host>] [--entity=<entité>] <nom du profil> <priorité>
--scope=<user|host> : étendue du profil (utilisateur ou hôte). Si aucune information n'est spécifiée, l'étendue utilisateur est utilisée par défaut.
--entity=<entité> : élément où réside le profil. Si aucune information n'est spécifiée, c'est l'élément de l'organisation ou du domaine racine qui est utilisé par défaut, en fonction de l'option --scope.
<nom du profil> : nom du profil pour lequel vous souhaitez redéfinir le niveau de priorité. Si aucun profil ou plusieurs profils du même nom et de même étendue sont détectés au niveau de cette couche, la commande échoue et génère une erreur.
<priorité> : nombre entier strictement positif définissant le niveau de priorité du profil. Si la priorité spécifiée est la même que celle d'un profil existant de même étendue et de même couche, la commande échoue et génère une erreur.
% pgtool modify ProfilUtilisateur1 15
Cette instruction a pour effet de donner le niveau de priorité 15 au profil “ProfilUtilisateur1” se trouvant dans l'organisation racine.
Annule l'assignation d'un profil à partir d'un élément.
Syntaxe
remove [--scope=<user|host>] [--entity=<entité>] <nom du profil> <entité cible>
--scope=<user|host> : étendue du profil (utilisateur ou hôte). Si aucune information n'est spécifiée, l'étendue utilisateur est utilisée par défaut.
--entity=<entité> : élément où réside le profil. Si aucune information n'est spécifiée, c'est l'élément de l'organisation ou du domaine racine qui est utilisé par défaut, en fonction de l'option --scope.
<nom du profil> : nom du profil dont vous souhaitez annuler l'assignation avec l'élément cible.
<entité cible> : élément à partir duquel vous souhaitez annuler l'affectation du profil.
% pgtool remove ProfilUtilisateur1 cn=Role1,o=staff,o=apoc
L'assignation du profil “ProfilUtilisateur1” figurant dans l'organisation racine a été annulée à partir de l'élément “cn=Role1,o=staff,o=apoc”.
Change le nom d'un profil.
Syntaxe
modify [--scope=<user|host>] [--entity=<entité>] <nom du profil> <priorité>
--scope=<user|host> : étendue du profil (utilisateur ou hôte). Si aucune information n'est spécifiée, l'étendue utilisateur est utilisée par défaut.
--entity=<entité> : élément où réside le profil. Si aucune information n'est spécifiée, c'est l'élément de l'organisation ou du domaine racine qui est utilisé par défaut, en fonction de l'option --scope.
<nom du profil> : nom actuel du profil à renommer.
<nouveau nom> : nouveau nom du profil. Si un profil portant ce nom et ayant cette étendue existe déjà au niveau de la même couche, la commande échoue et génère une erreur.
% pgtool rename NouveauProfilUtilisateur2 NouveauProfilUtilisateur2renommé
Cette instruction a permis de remplacer le nom de “NouveauProfilUtilisateur2” situé dans l'organisation racine par “NouveauProfilUtilisateur2renommé”.
Commande |
Description |
---|---|
add |
Assigne un profil à un élément. |
create |
Génère un nouveau profil vide. |
delete |
Supprime un profil. |
export |
Exporte les profils vers un emplacement cible dans un format compressé (fichier ZIP). |
import |
Importe un profil stocké sous forme de fichier compressé (ZIP) à partir de la source spécifiée. La source contient les profils à importer dans le profil. |
list |
Répertorie tous les profils ou les profils assignés à un élément ou les éléments auxquels un profil a été assigné. |
login |
Stocke le nom d'utilisateur et le mot de passe correspondant au moteur de traitement du magasin de données dans un fichier du répertoire personnel de l'administrateur. Ce nom d'utilisateur et ce mot de passe peuvent ensuite être utilisés dans les appels de pgtool. |
modify |
Change le niveau de priorité d'un profil. |
remove |
Annule l'assignation d'un profil avec un élément. |
rename |
Change le nom d'un profil. |
Tableau 3–2 Options
Option |
Description |
---|---|
-b <nom de base>, --base=<nom de base>, DÉSAPPROUVÉ |
Entrée racine du moteur de traitement de stockage. Le format de cette entrée de base est déterminé par le moteur de traitement de stockage utilisé. Par exemple, un moteur de traitement de stockage LDAP avec une entrée racine o=apoc: --base o=apoc. DÉSAPPROUVÉ : utilisez l'option --url à la place |
-e <entité>, --entity=<entité> |
Représente un utilisateur, un rôle, une organisation ou bien un élément hôte ou domaine. Le format de saisie de l'élément est déterminé par le moteur de traitement de stockage utilisé. Par exemple, un moteur de traitement de stockage LDAP avec un utilisateur jdupont : -e uid=jdupont,ou=People,o=Staff,o=apoc . |
-f <fichier>, --file=<fichier> |
Chemin d'accès complet au fichier complet détaillant les informations d'initialisation à utiliser lors de l'exécution de cette commande. Par exemple : -f /var/opt/apoc/cli.properties . |
-h <nom d'hôte>, --hostname=<nom d'hôte> , DÉSAPPROUVÉ |
Nom de l'hôte du moteur de traitement de stockage. Par exemple : --host=serveur1.sun.com . DÉSAPPROUVÉ : utilisez l'option --url à la place |
-i <priorité>, --priority=<priorité> |
Nombre entier strictement positif définissant le niveau de priorité du profil. Par exemple : -i 12. |
-l <url>, --url=<url> |
URL identifiant le magasin de données. L'URL respecte le format suivant : ldap://<nom d'hôte>:<port>/<nom de base>, <nom d'hôte> étant le nom du serveur (il s'agit de l'hôte local par défaut), <port> correspond au numéro du port sur le serveur (389 par défaut) et <nom de base> fait référence au DN de l'entrée de base. Par exemple : --url=ldap://serveur1.sun.com:399/o=apoc. |
-m <nom>, --name=<nom> |
Nom du profil. Par exemple : --name=ProfilUtilisateur1. |
-p <port>, --port=<port>, DÉSAPPROUVÉ |
Numéro du port du moteur de traitement de stockage. Par exemple : -p 399. DÉSAPPROUVÉ : utilisez l'option --url à la place |
-s <étendue>, --scope=<étendue> |
Étendue du profil (utilisateur ou hôte). Si aucune information n'est spécifiée, l'étendue utilisateur est utilisée par défaut. Par exemple : --scope=host. |
-t <type>, --type=<type>, DÉSAPPROUVÉ |
Type du moteur de traitement de stockage. La valeur par défaut est LDAP. Par exemple : -t LDAP. DÉSAPPROUVÉ : utilisez l'option --url à la place |
-u <nom d'utilisateur>, --username=<nom d'utilisateur> |
Nom d'utilisateur de l'administrateur présenté dans le format utilisé par le moteur de traitement de stockage. L'administrateur est ensuite invité à saisir un mot de passe. Si cette option n'est pas utilisée et que l'utilisateur n'a pas exécuté la sous-commande pgtool login, l'administrateur est invité à saisir un nom d'utilisateur et un mot de passe. Par exemple : --username=jdupont. |
-?, --help |
Affiche les informations d'aide. |
-V, --version |
Affiche les informations sur la version. |