Ignorer les liens de navigation | |
Quitter l'aperu | |
Utilisation des services de noms et d'annuaire dans Oracle Solaris 11.1 Oracle Solaris 11.1 Information Library (Français) |
Partie I A propos des services d'annuaire et de noms
1. Services d'annuaire et de noms (présentation)
2. Commutateur du service de noms (présentation)
4. Configuration des clients Active Directory Oracle Solaris (tâches)
Partie II Configuration et administration NIS
5. Service d'information réseau (présentation)
6. Définition et configuration du service NIS (tâches)
7. Administration de NIS (tâches)
Fichiers de mots de passe et sécurité de l'espace de noms
Administration des utilisateurs NIS
Ajout d'un nouvel utilisateur NIS à un domaine NIS
Définition des mots de passe utilisateur
Obtention d'informations de carte
Changement du serveur maître de la carte
Changement du serveur maître d'une carte
Modification des fichiers de configuration
Modification des fichiers de configuration
Modification et utilisation de /var/yp/Makefile
Utilisation du fichier makefile
Modification des macros/variables makefile
Modification des entrées Makefile
Modification du fichier /var/yp/Makefile pour utiliser des bases de données spécifiques
Modification du fichier makefile pour supprimer des bases de données
Mise à jour et modification des cartes existantes
Mise à jour des cartes fournies avec l'ensemble par défaut
Maintenance des cartes mises à jour
Utilisation de la commande cron pour les transferts de cartes
Utilisation de scripts shell avec cron et ypxfr
Appel direct de la commande ypxfr
Journalisation de l'activité ypxfr
Modification des cartes qui ne font pas partie des cartes par défaut
Création de cartes à partir de fichiers texte
Ajout d'entrées dans une carte basée sur les fichiers
Liaison à un serveur NIS spécifique
Définition d'un nom de domaine NIS de machine
Configuration de la recherche de noms d'hôte et d'adresses de machine via NIS et DNS
Désactivation des services NIS
Partie III Service de noms LDAP
9. Introduction aux services de noms LDAP (présentation)
10. Exigences de planification pour les services de noms LDAP (tâches)
11. Configuration de Oracle Directory Server Enterprise Edition avec les clients LDAP (tâches)
12. Configuration des clients LDAP (tâches)
13. Dépannage LDAP (référence)
14. Service de noms LDAP (référence)
Après avoir installé NIS, vous vous apercevrez peut-être que certaines cartes nécessitent une mise à jour fréquente tandis que d'autres n'ont jamais besoin d'être modifiées. Par exemple, les cartes passwd.byname peuvent changer fréquemment sur le réseau d'une grande entreprise, tandis que la carte auto_master est peu modifiée, voire pas du tout.
Comme mentionné dans la section Cartes NIS par défaut, l'emplacement par défaut des cartes NIS par défaut est /var/yp/domainname, où domainname correspond au nom du domaine NIS. Lorsque la mise à jour d'une carte est nécessaire, vous pouvez recourir à l'une des deux procédures de mise à jour, selon qu'il s'agisse ou non d'une carte par défaut.
Une carte par défaut désigne une carte incluse dans l'ensemble par défaut créé par la commande ypinit à partir des bases de données réseau.
Les cartes suivantes ne font pas partie des cartes par défaut :
Cartes incluses à l'aide d'une application acquise auprès d'un fournisseur
Cartes créées spécifiquement pour votre site
Cartes créées à partir d'un fichier non textuel
Les sections suivantes expliquent comment utiliser les divers outils de mise à jour. Dans la pratique, vous pouvez décider de les utiliser uniquement lors de l'ajout de cartes qui ne font pas partie des cartes par défaut ou de la modification de l'ensemble des serveurs NIS une fois le système opérationnel.
Suivez la procédure ci-dessous pour mettre à jour les cartes fournies avec l'ensemble par défaut.
Pour plus d'informations, reportez-vous à la section Utilisation de vos droits d’administration du manuel Administration d’Oracle Solaris 11.1 : Services de sécurité.
Le fichier peut résider dans /etc ou le répertoire de votre choix.
# cd /var/yp # make mapname
La commande make met ensuite votre carte à jour selon les modifications apportées dans le fichier correspondant. Elle propage également les modifications aux autres serveurs.
Les sections suivantes décrivent les procédures supplémentaires une fois que vous avez terminé la mise à jour des cartes fournies avec l'ensemble par défaut.
Une fois qu'une carte est modifiée, le fichier Makefile utilise la commande yppush pour propager une nouvelle carte sur les serveurs esclaves (à moins que NOPUSH ne soit défini dans le fichier Makefile). Pour cela, il informe le démon ypserv et envoie une demande de transfert de carte. Le démon ypserv résidant sur le serveur esclave démarre alors un processus ypxfr, qui à son tour contacte le démon ypxfrd sur le serveur maître. Certains contrôles de base sont effectués (par exemple, la carte a-t-elle vraiment été modifiée ?). La carte est ensuite transférée. Le processus ypxfr sur le serveur esclave envoie ensuite une réponse au processus yppush pour indiquer la réussite ou l'échec du transfert.
Remarque - La procédure ci-dessus ne s'applique pas aux nouvelles cartes qui n'existent pas encore sur les serveurs esclaves. Les nouvelles cartes doivent être envoyées aux serveurs esclaves en exécutant le processus ypxfr sur les serveurs esclaves.
ll arrive que les cartes ne parviennent pas à se propager et que vous deviez exécuter ypxfr manuellement pour envoyer de nouvelles informations de cartes. Vous pouvez choisir d'utiliser ypxfr de deux façons différentes : de manière périodique par le biais du fichier crontab root ou de manière interactive sur la ligne de commande. Ces approches sont décrites dans les sections suivantes.
Les cartes présentent des taux de modification différents. Par exemple, certaines cartes peuvent ne pas changer pendant des mois, comme protocols.byname parmi les cartes par défaut et auto_master parmi les autres cartes. En revanche, passwd.byname peut changer plusieurs fois par jour. La planification du transfert des cartes à l'aide de la commande crontab permet de définir des heures de propagation spécifiques pour chaque carte.
Pour exécuter régulièrement ypxfr au rythme qui convient à la carte, le fichier crontab root sur chaque serveur esclave doit contenir les entrées ypxfr appropriées. ypxfr contacte le serveur maître et transfère la carte si la copie sur le serveur maître est plus récente que la copie locale, et à cette condition uniquement.
Remarque - Si le serveur maître exécute rpc.yppasswdd avec l'option par défaut -m, chaque fois qu'un utilisateur modifie son mot de passe yp, le démon passwd exécute la commande make qui reconstruit les cartes passwd.
Plutôt que de créer des entrées crontab distinctes pour chaque carte, vous préférerez peut-être que la commande crontab root exécute un script shell qui mette régulièrement à jour toutes les cartes. Vous trouverez des exemples de scripts shell de mise à jour des cartes dans le répertoire /usr/lib/netsvc/yp. Ces scripts portent les noms ypxfr_1perday, ypxfr_1perhour et ypxfr_2perday. Vous pouvez modifier ou remplacer ces scripts shell pour vous adapter aux besoins de votre site. L'exemple suivante illustre le script shell ypxfr_1perday par défaut.
Exemple 7-1 Script shell ypxfr_1perday
#! /bin/sh # # ypxfr_1perday.sh - Do daily yp map check/updates PATH=/bin:/usr/bin:/usr/lib/netsvc/yp:$PATH export PATH # set -xv ypxfr group.byname ypxfr group.bygid ypxfr protocols.byname ypxfr protocols.bynumber ypxfr networks.byname ypxfr networks.byaddr ypxfr services.byname ypxfr ypservers
Ce script shell met à jour les cartes une fois par jour, si la commande crontab root est exécutée tous les jours. Vous pouvez également rédiger des scripts qui mettent à jour les cartes une fois par semaine, par mois, par heure et ainsi de suite. Toutefois, ne perdez pas de vue l'éventuelle baisse de performances qu'implique généralement la propagation des cartes. Pour plus d'informations, reportez-vous à la page de manuel crontab(1).
Exécutez les mêmes scripts shell en tant qu'utilisateur root sur chaque serveur esclave configuré pour le domaine NIS. Modifiez l'heure exacte de l'exécution sur les différents serveurs afin d'éviter tout encombrement du serveur maître.
Si vous souhaitez transférer la carte d'un serveur esclave particulier, ajoutez l'option-h machine de ypxfr dans le script shell. Voici la syntaxe des commandes à insérer dans le script.
# /usr/lib/netsvc/yp/ypxfr -h machine [ -c ] mapname
Où machine est le nom du serveur sur lequel résident les cartes que vous souhaitez transférer et mapname est le nom de la carte demandée. Si vous utilisez l'option -h sans spécifier une machine, ypxfr essaie d'obtenir la carte à partir du serveur maître. Si le démon ypserv ne s'exécute pas localement au moment de l'exécution du processus ypxfr, vous devez utiliser l'indicateur -c pour que ypxfr n'envoie pas une demande claire de carte actuelle au fichier ypserver local.
Vous pouvez utiliser les options -s domain pour transférer les cartes d'un autre domaine vers votre domaine local. Ces cartes doivent être identiques sur l'ensemble des domaines. Par exemple, deux domaines peuvent partager les mêmes cartes services.byname et services.byaddr. Pour plus de contrôle, vous pouvez également exécuter rcp ou rsync pour transférer des fichiers sur l'ensemble des domaines.
La seconde méthode d'appel de ypxfr consiste à l'exécuter en tant que commande. En règle générale, elle ne s'applique qu'à des situations exceptionnelles, par exemple lorsque vous configurez un serveur NIS temporaire pour créer un environnement de test ou lorsque vous tentez d'obtenir rapidement un serveur NIS hors service en accord avec les autres serveurs.
Les tentatives de transfert et les résultats de ypxfr peuvent être consignés dans un fichier journal. Les résultats sont ajoutés au fichier /var/yp/ypxfr.log, s'il existe. Aucune tentative de limiter la taille du fichier journal n'est effectuée. Pour éviter qu'il n'augmente indéfiniment, videz-le régulièrement en tapant la commande suivante.
# cd /var/yp # cp ypxfr.log ypxfr.log.old # cat /dev/null > /var/yp/ypxfr.log
crontab peut exécuter ces commandes une fois par semaine. Pour désactiver la journalisation, supprimez le fichier journal.
Pour mettre à jour une carte qui ne fait pas partie des cartes par défaut, vous devez effectuer les opérations suivantes :
Créer ou modifier le fichier texte correspondant ;
Créer (ou recréer) la carte nouvelle ou mise à jour. Il existe deux façons de créer une carte.
Utilisez le fichier makefile. Pour créer une carte qui n'est pas par défaut, la meilleure méthode consiste à utiliser le fichier makefile. Si la carte possède une entrée dans le fichier Makefile, exécutez la commande make name où name correspond au nom de la carte à créer. Si la carte ne possède pas d'entrée Makefile, essayez d'en créer une en suivant les instructions décrites à la section Modification et utilisation de /var/yp/Makefile .
Utilisez le programme /usr/sbin/makedbm. La page de manuel makedbm(1M) présente cette commande en détail.
Il existe deux méthodes d'exécution de la commande makedbm pour modifier les cartes si vous ne disposez pas d'un fichier d'entrée :
Redirigez la sortie makedbm -u vers un fichier temporaire, modifiez le fichier, puis utilisez le fichier modifié en tant qu'entrée dans makedbm.
Utilisez la sortie de makedbm -u dans un processus qui alimente makedbm. Appliquez cette méthode lorsque vous êtes en mesure de mettre à jour la carte désassemblée avec awk, sed ou un ajout cat.
Supposons qu'un fichier texte /var/yp/mymap.asc ait été créé avec un éditeur ou un script shell sur le serveur maître. Vous souhaitez créer une carte NIS à partir de ce fichier et la placer dans le sous-répertoire home-domain. Pour ce faire, saisissez les informations suivantes sur le serveur maître.
# cd /var/yp # makedbm mymap.asc home-domain/mymap
La carte mymap existe à présent sur le serveur maître dans le répertoire home-domain. Pour distribuer la nouvelle carte sur les serveurs esclaves, exécutez la commande ypxfr.
Il est facile d'ajouter des entrées à mymap. Tout d'abord, vous devez modifier le fichier texte /var/yp/ mymap.asc. Si vous modifiez les fichiers dbm à proprement parler sans modifier le fichier texte correspondant, vos modifications sont perdues. Exécutez ensuite makedbm comme indiqué ci-dessus.
En l'absence de fichier texte d'origine, créez la carte NIS à partir du clavier en saisissant l'entrée dans makedbm, comme indiqué ci-dessous (en terminant par Ctrl+D).
ypmaster# cd /var/yp ypmaster# makedbm home-domain/mymap key1 value1 key2 value2 key3 value3
Si vous avez besoin de modifier la carte par la suite, vous pouvez utiliser makedbm pour la désassembler et créer un fichier texte temporaire. Pour désassembler la carte et créer un fichier temporaire, entrez la commande suivante :
% cd /var/yp % makedbm -u homedomain/mymap > mymap.temp
Dans le fichier temporaire obtenu mymap.temp , chaque ligne possède une entrée. Vous pouvez modifier ce fichier selon vos besoins à l'aide d'un éditeur de texte.
Pour mettre à jour la carte, indiquez le nom du fichier temporaire modifié à makedbm en entrant la commande suivante :
% makedbm mymap.temp homedomain/mymap % rm mymap.temp
Propagez ensuite la carte sur les serveurs esclaves, en vous connectant en tant qu'utilisateur root et en entrant la commande suivante.
# yppush mymap
Les paragraphes précédents décrivent comment utiliser makedbm pour créer des cartes. Néanmoins, la quasi-totalité des tâches nécessaires peuvent être réalisées à l'aide de la commande ypinit et du fichier /var/yp/Makefile, à moins que vous n'ajoutiez des cartes qui ne font pas partie des cartes par défaut à la base données ou que vous ne modifiiez l'ensemble des serveurs NIS une fois que le système est déjà opérationnel.
Que vous utilisez le fichier Makefile dans /var/yp ou une autre procédure, l'objectif reste le même. Une nouvelle paire de fichiers dbm bien formée doit se retrouver dans les répertoires des cartes sur le serveur maître.