Guide du programme d'installation automatisée Oracle Solaris 11 Express

Chapitre 5 Configuration du système client

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).

Création d'un fichier manifest SC personnalisé

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.

Spécification de la configuration dans un fichier manifest SC

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).

Comptes root et utilisateur

Le service SMF svc:/system/install/config configure les comptes utilisateur et root. Ce service reconnaît deux groupes de propriétés :


Astuce –

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.


Configuration du compte root

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. 


Exemple 5–1 Configuration du compte root uniquement après expiration du mot de passe

<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>

Configuration d'un compte utilisateur

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

Type de terminal et disposition du clavier

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.


Exemple 5–2 Configuration du type de terminal vt100

<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.


Exemple 5–3 Configuration de la disposition du clavier tchèque

<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>

Adresse IP statique et DNS

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 :

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).


# /usr/sbin/route \
-p add default default-route \
-ifp ifname

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).


# /usr/sbin/route \
-p add default default-route \
-ifp ifname

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.

Exemples de fichiers manifest SC

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.

Spécification du type de terminal et de la disposition du clavier

L'exemple de fichier manifest SC ci-dessous permet de configurer les paramètres suivants :

<?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>

Spécification de la configuration réseau statique

L'exemple de fichier manifest SC ci-dessous permet de configurer les paramètres suivants :

<?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>