Ce chapitre décrit la procédure de spécification des informations requises pour configurer le système client après l'installation. Vous pouvez indiquer la configuration de tous les éléments configurables par le biais des propriétés smf(5).
Le fichier manifest de configuration système (fichier manifest SC) spécifie la configuration système du client sous la forme d'un ensemble de paramètres de configuration dans le formulaire d'un profil SMF (Service Management Facility, utilitaire de gestion des services). Le fichier manifest SC définit les propriétés SMF pour les services SMF appropriés.
Un profil SMF contenant la configuration système est appliqué au cours de la première initialisation du système après l'installation. Les services SMF responsables de zones de configuration spécifiques traitent les propriétés SMF et configurent le système en conséquence.
Vous pouvez incorporer un fichier manifest SC dans votre fichier manifest IA. Voir Fichier manifest IA par défaut pour obtenir un exemple de fichier manifest SC incorporé dans un fichier manifest IA.
<auto_install> <ai_instance name="default"> AI_manifest_content <sc_embedded_manifest name="AI"> <!-- <?xml version='1.0'?> SC_manifest_content --> </sc_embedded_manifest> </ai_instance> </auto_install>
Vous pouvez faire référence à un autre fichier manifest SC dans le fichier manifest IA.
<auto_install> <ai_instance name="default"> AI_manifest_content <sc_manifest_file name="AI" URI="./sc_manifest1.xml"/> </ai_instance> </auto_install>
Vous pouvez indiquer la configuration de tous les éléments configurables par le biais des propriétés smf(5). Par exemple, le fichier manifest SC peut configurer un compte root, un utilisateur initial, le clavier, le type de terminal, une interface réseau IPv4 (statique ou DHCP) et une route par défaut, une interface réseau IPv6 (statique ou addrconf) et une route par défaut, et un DNS (liste de serveurs de noms, liste de recherche, domaine).
Le service SMF svc:/system/install/config configure les comptes utilisateur et root. Ce service reconnaît deux groupes de propriétés :
Le groupe de propriétés root_account comprend les propriétés SMF qui permettent de configurer le compte root.
Le groupe de propriétés user_account comprend les propriétés SMF qui permettent de configurer les comptes utilisateur.
L'une des méthodes de génération des mots de passe chiffrés pour le SE Oracle Solaris consiste à créer un utilisateur avec le nom et le mot de passe prévus, à copier le mot de passe à partir du fichier /etc/shadow entre le 1er et le 2e deux-points de l'enregistrement de l'utilisateur, puis à ajouter ces informations aux valeurs de mot de passe du fichier manifest.
Le groupe de propriétés root_account peut contenir les propriétés suivantes.
Tableau 5–1 Propriétés du groupe de propriétés root_account
Propriétés |
Type |
Requis |
Description |
---|---|---|---|
password |
astring |
oui |
Mot de passe root chiffré. |
type |
astring |
no |
Type de compte : normal ou role. La valeur par défaut est normal. |
expire |
string |
no |
Date d'expiration pour la connexion. Si l'option est définie sur 0 (zéro), l'utilisateur sera obligé de modifier le mot de passe root lors de la prochaine connexion. |
<service name="system/install/config" version="1" type="service"> <instance name="default" enabled="true"> <property_group name="root_account" type="application"> <propval name="password" type="astring" value="encrypted_password"/> <propval name="type" type="astring" value="normal"/> <propval name="expire" type="astring" value="0"/> </property_group> <property_group name="other_sc_params" type="application"> <propval name="timezone" type="astring" value="GMT"/> <propval name="hostname" type="astring" value="solaris"/> </property_group> </instance> </service>
Le groupe de propriétés user_account peut contenir les propriétés suivantes.
Tableau 5–2 Propriétés du groupe de propriétés user_account
Propriétés |
Type |
Requis |
Description |
---|---|---|---|
login |
astring |
yes |
Identifiant de l'utilisateur. |
password |
astring |
yes |
Mot de passe utilisateur chiffré. |
description |
astring |
no |
En général, le nom complet de l'utilisateur. |
shell |
astring |
no |
Chemin d'accès complet du programme utilisé en tant que shell de l'utilisateur lors de la connexion. |
uid |
count |
no |
UID du nouvel utilisateur. L'UID par défaut est 101. |
gid |
count |
no |
Appartenance de l'utilisateur au groupe principal. Le GID par défaut est 10. |
type |
astring |
no |
Type de compte : normal ou role. La valeur par défaut est normal. |
profiles |
astring |
no |
Un ou plusieurs profils d'exécution (séparés par des virgules) définis dans prof_attr(4). |
roles |
astring |
no |
Un ou plusieurs rôles (séparés par des virgules) définis dans user_attr(4). |
sudoers |
astring |
no |
Entrée indiquée avec l'identifiant dans le fichier sudoers(4). |
expire |
astring |
no |
Date d'expiration pour la connexion. Si l'option est définie sur 0 (zéro), l'utilisateur est obligé de modifier le mot de passe lors de la prochaine connexion. |
home_zfs_dataset |
astring |
no |
Jeu de données ZFS du répertoire d'accueil de l'utilisateur. La valeur par défaut est root_pool/export/home/identifiant |
home_mountpoint |
astring |
no |
Point de montage du répertoire d'accueil de l'utilisateur. La valeur par défaut est /export/home/identifiant |
Le service SMF svc:/système/console-login configure le type de terminal. Voir la page de manuel ttymon(1M) pour la définition des propriétés SMF associées.
<service name="system/console-login" version="1" type="service"> <property_group name="ttymon" type="application"> <propval name="terminal_type" type="astring" value="vt100"/> </property_group> </service>
Le service SMF svc:/system/keymap configure la disposition du clavier. Reportez-vous à la page de manuel kbd(1) pour la définition des propriétés SMF associées.
<service name='system/keymap' version='1' type='service'> <instance name='default' enabled='true'> <property_group name='keymap' type='system'> <propval name='layout' type='astring' value='Czech'/> </property_group> </instance> </service>
La mise en réseau peut être configurée automatiquement ou manuellement sur un système Oracle Solaris 11 Express. Les configurations que vous pouvez effectuer manuellement peuvent également être spécifiées dans un fichier manifest SC.
La configuration automatique du réseau (NWAM) est activée par le biais de l'activation de svc:/network/physical:nwam et de la désactivation de svc:/network/physical:default. La structure NWAM gère la configuration du réseau.
La configuration réseau manuelle est activée lorsque svc:/network/physical:nwam est désactivé et que svc:/network/physical:default est activé. En mode manuel, les paramètres réseau suivants peuvent être configurés :
Une interface réseau IPv4 , avec une adresse IPv4 statique ou un serveur DHCP configuré
Route par défaut IPv4
Une interface réseau IPv6, avec une adresse IPv6 statique ou configurée automatiquement
Route IPv6 par défaut
DNS en tant que service d'attribution de noms
Les services SMF svc:/network/install et svc:/network/dns/install contiennent les propriétés qui leur permettent de configurer une interface réseau physique initiale ou une configuration de client DNS initial. Ces services sont initialement désactivés avec des valeurs de propriété qui n'entraînent aucune configuration du système. Ces services peuvent être activés, et les propriétés appropriées peuvent être configurées dans le fichier manifest SC.
Le service svc:/network/install prend en charge la configuration d'une interface IPv4 et d'une interface IPv6 et, le cas échéant, une route par défaut accessible par ces interfaces. Le service définit deux groupes de propriétés : un groupe de propriétés d'une interface IPv4 et un autre pour une interface IPv6. Le service utilise ses propriétés et ipadm(1M) pour configurer les interfaces réseau. De même, le service utilise ses propriétés et route(1M) pour définir une route par défaut.
Le groupe de propriétés install_ipv4_interface contient les propriétés suivantes.
Tableau 5–3 Propriétés du groupe de propriétés install_ipv4_interface
Propriétés |
Type |
Requis |
Description |
|
---|---|---|---|---|
name |
astring |
yes |
Nom de l'interface réseau. |
|
address_type |
astring |
yes |
Valeur utilisée pour définir l'option -T pour la sous-commande ipadm (1M) create-addr. Les valeurs valides sont static ou dhcp. |
|
static_address |
net_address_v4 |
no |
Requis uniquement avec un address_type static. Utilisé pour définir l'adresse locale pour la sous-commande ipadm(1M) create-addr. |
|
dhcp_wait |
astring |
no |
S'applique uniquement à un address_type dhcp. Si elle est définie, cette propriété est utilisée pour définir la partie -w secondes (ou forever) de la sous-commande ipadm (1M) create-addr. |
|
default_route |
net_address_v4 |
no |
Utilisé pour définir une route par défaut à l'aide de la commande route(1M).
La valeur de ifname est la partie du nom de l'interface de la propriété name. |
Le groupe de propriétés install_ipv6_interface contient les propriétés suivantes.
Tableau 5–4 Propriétés du groupe de propriétés install_ipv6_interface
Propriétés |
Type |
Requis |
Description |
|
---|---|---|---|---|
name |
astring |
yes |
Nom de l'interface réseau. |
|
address_type |
astring |
yes |
Valeur utilisée pour définir l'option -T pour la sous-commande ipadm (1M) create-addr. Les valeurs valides sont static ou addrconf. |
|
static_address |
net_address_v6 |
no |
Requis uniquement avec un address_type static. Utilisé pour définir l'adresse locale pour la sous-commande ipadm(1M) create-addr. |
|
interface_id |
net_address_v6 |
no |
S'applique uniquement à un address_type addrconf. Utilisé pour définir la partie -i interface_id de la sous-commande ipadm(1M) create-addr. |
|
stateless |
astring |
no |
S'applique uniquement à un address_type addrconf. Utilisé pour définir la partie -p stateless=yes|no de la sous-commande ipadm(1M) create-addr. |
|
stateful |
astring |
no |
S'applique uniquement à un address_type addrconf. Utilisé pour définir la partie -p stateful=yes|no de la sous-commande ipadm(1M) create-addr. |
|
default_route |
net_address_v6 |
no |
Utilisé pour définir une route par défaut à l'aide de route(1M).
La valeur de ifname est la partie du nom de l'interface de la propriété name. |
Le service svc:/network/dns/install prend en charge la configuration d'un client DNS. Le service définit un groupe de propriétés : install_props . Le service utilise ses propriétés pour créer un fichier resolv.conf (4) DNS.
Le groupe de propriétés install_props contient les propriétés suivantes.
Tableau 5–5 Propriétés du groupe de propriétés install_props
Propriétés |
Type |
Requis |
Description |
---|---|---|---|
domaine |
astring |
no |
Nom de domaine local. Utilisé pour définir la directive de domaine dans resolv.conf (4). |
nameserver |
net_address |
yes |
Utilisé pour définir les directives nameserver dans resolv.conf(4). La net_address_list doit contenir les adresses IPv4 et IPv6. |
search |
astring |
no |
Valeur pour l'ordre de recherche des noms d'hôte. Cette valeur est utilisée pour construire la directive de recherche dans resolv.conf(4). La astring_list doit contenir les valeurs de domaine. |
Les exemples de cette section représentent des fichiers manifest SC terminés qui peuvent être intégrés dans un fichier manifest IA ou inclus par référence.
L'exemple de fichier manifest SC ci-dessous permet de configurer les paramètres suivants :
Comptes utilisateur et root
Fuseau horaire
Nom d'hôte
Type de terminal
Configuration du clavier
NWAM de configuration réseau
<?xml version='1.0'?> <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <service_bundle type="profile" name="system configuration"> <service name="system/install/config" version="1" type="service"> <instance name="default" enabled="true"> <property_group name="user_account" type="application"> <propval name="login" type="astring" value="jack"/> <propval name="password" type="astring" value="encrypted_password"/> <propval name="description" type="astring" value="default_user"/> <propval name="shell" type="astring" value="/usr/bin/bash"/> <propval name="uid" type='count' value='101'/> <propval name="gid" type='count' value='10'/> <propval name="type" type="astring" value="normal"/> <propval name="roles" type="astring" value="root"/> </property_group> <property_group name="root_account" type="application"> <propval name="password" type="astring" value="encrypted_password"/> <propval name="type" type="astring" value="role"/> </property_group> <property_group name="other_sc_params" type="application"> <propval name="timezone" type="astring" value="GMT"/> <propval name="hostname" type="astring" value="solaris"/> </property_group> </instance> </service> <service name="system/console-login" version="1" type="service"> <property_group name="ttymon" type="application"> <propval name="terminal_type" type="astring" value="sun"/> </property_group> </service> <service name='system/keymap' version='1' type='service'> <instance name='default' enabled='true'> <property_group name='keymap' type='system'> <propval name='layout' type='astring' value='US-English'/> </property_group> </instance> </service> <service name="network/physical" version="1" type="service"> <instance name="nwam" enabled="true"/> <instance name="default" enabled="false"/> </service> </service_bundle>
L'exemple de fichier manifest SC ci-dessous permet de configurer les paramètres suivants :
bge0 avec l'adresse IPv4 statique 10.0.0.10, le masque de réseau 255.0.0.0
Route par défaut IPv4 10.0.0.1
bge1 avec type d'adresse addrconf IPv6
Serveur de noms DNS 8.8.8.8
example1.com en tant que nom de domaine DNS local
example2.com, example3.com en tant que liste de recherche DNS pour la recherche de nom d'hôte
<?xml version='1.0'?> <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <service_bundle type="profile" name="system configuration"> <service name="system/install/config" version="1" type="service"> <instance name="default" enabled="true"> <property_group name="user_account" type="application"> <propval name="login" type="astring" value="jack"/> <propval name="password" type="astring" value="encrypted_password"/> <propval name="description" type="astring" value="default_user"/> <propval name="shell" type="astring" value="/usr/bin/bash"/> <propval name="uid" type='count' value='101'/> <propval name="gid" type='count' value='10'/> <propval name="type" type="astring" value="normal"/> <propval name="roles" type="astring" value="root"/> </property_group> <property_group name="root_account" type="application"> <propval name="password" type="astring" value="encrypted_password"/> <propval name="type" type="astring" value="role"/> </property_group> <property_group name="other_sc_params" type="application"> <propval name="timezone" type="astring" value="GMT"/> <propval name="hostname" type="astring" value="solaris"/> </property_group> </instance> </service> <service name="system/console-login" version="1" type="service"> <property_group name="ttymon" type="application"> <propval name="terminal_type" type="astring" value="sun"/> </property_group> </service> <service name='system/keymap' version='1' type='service'> <instance name='default' enabled='true'> <property_group name='keymap' type='system'> <propval name='layout' type='astring' value='US-English'/> </property_group> </instance> </service> <service name="network/physical" version="1" type="service"> <instance name="nwam" enabled="false"/> <instance name="default" enabled="true"/> </service> <service name='network/install' version='1' type='service'> <instance name='default' enabled='true'> <property_group name='install_ipv4_interface' type='application'> <propval name='name' type='astring' value='bge0/v4'/> <propval name='address_type' type='astring' value='static'/> <propval name='static_address' type='net_address_v4' value='10.0.0.10/8'/> <propval name='default_route' type='net_address_v4' value='10.0.0.1'/> </property_group> <property_group name='install_ipv6_interface' type='application'> <propval name='name' type='astring' value='bge1/v6'/> <propval name='address_type' type='astring' value='addrconf'/> <propval name='stateless' type='astring' value='yes'/> <propval name='stateful' type='astring' value='yes'/> </property_group> </instance> </service> <service name='network/dns/install' version='1' type='service'> <instance name='default' enabled='true'> <property_group name='install_props' type='application'> <property name='nameserver' type='net_address'> <net_address_list> <value_node value='8.8.8.8'/> </net_address_list> </property> <property name='domain' type='astring' value='example1.com'/> <property name='search' type='astring'> <astring_list> <value_node value='example2.com'/> <value_node value='example3.com'/> </astring_list> </property> </property_group> </instance> </service> </service_bundle>