Guide d'administration de Solaris for ISPs

Création d'entrées de répertoire depuis la ligne de commande

Vous trouverez des informations générales sur la création d'entrées de service de répertoire au chapitre 5, "Loading and Maintaining Directory Information," du manuel Sun Directory Services 3.1 Administration Guide. Vous trouverez dans cette section des instructions sur la création des entrées spécifiques requises par Solaris for ISPs.

Pour plus d'informations sur la création d'entrées de répertoire à l'aide de l'outil Deja, reportez-vous à l'aide en ligne de SunTM Internet AdministratorTM.

Création d'entrées de répertoire : Procédure générale

Sun Directory Services possède les utilitaires de ligne de commande suivants pour créer et modifier les entrées de répertoire :

Ces utilitaires de ligne de commande de service de répertoire nécessitent un accès racine. Ils sont entièrement documentés dans les pages de manuel de référence (section 1).

ldapadd et ldapmodify peuvent prendre une entrée de la ligne de commande ou d'un fichier spécifié. Les informations pour une entrée pouvant être relativement longues et complexes, les sections qui suivent décrivent la forme nécessitant un fichier texte.

Dans chaque cas, la création d'une entrée (ou de plusieurs entrées) implique les interventions suivantes :

  1. Ecrire un fichier spécifiant l'entrée ou les entrées à effectuer dans le répertoire. Le format de ce fichier est spécifié dans la page de manuel de référence ldif(4).

  2. Obtenir un accès racine et créer l'entrée à l'aide de ldapadd, spécifiant le fichier contenant les informations de l'entrée.

Dans chaque cas, la forme de la commande ldapadd doit être la suivante :

# ldapadd -D "BindDN" -w password -f file

BindDN est le nom distinctif (DN) de la liaison au répertoire avec un accès en écriture à cette partie de l'arborescence de répertoire, et password le mot de passe de la liaison. Remplacez l'option file par le nom du fichier ldif que vous avez créé.

Structure d'un fichier ldif(4)

Pour chaque entrée que vous ajoutez dans la ligne de commande, vous créez un fichier de format ldif pour contenir les informations sur l'entrée. Ces fichiers sont de simples fichiers texte avec une ou plusieurs entrées de répertoire, chacune étant séparée par une ligne vierge. Chaque entrée a la structure de l'exemple suivant.


Remarque :

Seuls les attributs obligatoires sont indiqués dans l'exemple. La plupart des classes d'objet ont plusieurs attributs facultatifs pouvant être définis en fonction de votre utilisation particulière de l'entrée.


dn: ou=wcgate1,ou=eng,o=sun,c=US 
ou: wcgate1 
associateddomain: wcgate1.eng.sun.com  
objectclass: organizationalUnit 
objectclass: domainRelatedObject

dn

Indique le nom distinctif de l'entrée créée.

ou

Est l'attribut de nom de l'entrée créée. Les attributs de nom commun incluent commonName, organizationalUnit (ou) et domainComponent ( dc).

associatedDomain

Contient le nom de domaine (en note point) de l'entrée correspondante dans l'arborescence DC. Pour plus d'informations sur l'interaction entre l'arborescence OSI et l'arborescence DC, reportez-vous à "Structure de répertoires Solaris for ISPs". Pour plus d'informations sur la création des deux entrées de référence croisée d'un domaine, consultez "Création d'entrées de domaine".

Il peut y avoir plusieurs paires attribut:valeur dans cette position, une par ligne.

objectClass

Est la classe d'objet (type) de l'entrée. Il peut y avoir plusieurs entrées objectClass ; cet exemple en illustre deux.

Pour des informations plus détaillées sur les classes d'objet et les attributs disponibles, reportez-vous au Chapitre 6 de ce guide et au chapitre 8, "Configuring the Directory Schema" du manuel Sun Directory Services 3.1 Administration Guide.

Création d'entrées de domaine

Pour créer un domaine dans le répertoire, vous devez créer deux entrées de domaine parallèles, l'une dans l'arborescence OSI et l'autre dans l'arborescence DC, puis créer les entrées organizationalUnit sous l'entrée de domaine dans l'arborescence OSI.

Pour créer le domaine wcgate1 sous eng.sun.com, procédez comme suit :

  1. Editez un fichier texte (par exemple, domain.ldif) et entrez les données de l'entrée d'arborescence OSI :

    dn: ou=wcgate1,ou=eng,o=sun,c=US 
    ou: wcgate1 
    associateddomain: wcgate1.eng.sun.com 
    objectclass: organizationalUnit 
    objectclass: domainRelatedObject 

    Sachez que l'attribut associatedDomain de l'entrée contient le nom de l'entrée d'arborescence DC en note point (style DNS).

  2. Ajoutez à domain.ldif les données de l'entrée d'arborescence DC :

    dn: dc=wcgate1,dc=eng,dc=sun,dc=com 
    dc: wcgate1
    associatedname: ou=wcgate1,ou=eng,o=sun,c=US 
    description: DNS-to-DN Mapping for wcgate1.eng.sun.com 
    labeleduri: ldap:///ou=wcgate1,ou=eng,o=sun,c=US??sub 
    objectclass: domain 
    objectclass: labeledURIObject

    Sachez que l'attribut associatedName de l'entrée contient le nom distinctif de l'entrée d'arborescence OSI. L'attribut labeledURI contient les mêmes informations (telles que spécifiées dans RFC 2255).

  3. Ajoutez à domain.ldif les données de l'entrée d'unité organisationnelle Services requises :

    dn: ou=Services,ou=wcgate1,ou=eng,o=sun,c=US 
    ou: Services 
    objectclass: organizationalUnit
  4. Ajoutez à domain.ldif les données de l'entrée d'unité organisationnelle People requises :

    dn: ou=People,ou=wcgate1,ou=eng,o=sun,c=US 
    ou: People 
    objectclass: organizationalUnit 
  5. Ajoutez à domain.ldif les données de l'entrée d'unité organisationnelle Groups requises :

    dn: ou=Groups,ou=wcgate1,ou=eng,o=sun,c=US 
    ou: Groups 
    objectclass: organizationalUnit
  6. Enregistrez et fermez domain.ldif.

  7. Obtenez un accès racine et ajoutez les entrées au répertoire avec la commande suivante, en remplaçant le DN et le mot de passe de liaison par les vôtres :

    # ldapadd -D "cn=admin,o=sun,c=US" -w password -f domain.ldif

Lorsque votre ldapadd est terminé, le répertoire a l'aspect présenté dans la Figure 5-5.

Figure 5-5 Arborescence de répertoire avec un domaine ajouté

Graphic

Création d'entrées d'abonné

Il existe plusieurs variétés d'abonnés de Solaris for ISPs :

Dans les sections qui suivent, des instructions sont fournies pour construire l'entrée d'abonné complexe en créant l'entrée simple et en procédant par ajouts dans celle-ci.

Création d'une entrée d'abonné de base

Avant de créer des entrées d'abonné, les entrées de domaine et d'unité organisationnelle People doivent exister. Une fois que vous avez créé ces entrées, vous pouvez éditer un fichier texte (par exemple people.ldif) et entrer les données pour l'abonné. L'entrée d'abonné de base a la classe d'objet unique ispSubscriber et quelques attributs obligatoires. Le fichier pour un abonné de base a l'aspect suivant :

dn: cn=Jane Doe (jldoe),ou=People,ou=wcgate1,ou=eng,o=sun,c=US 
commonname: Jane Doe (jldoe) 
sn: Doe
uid: jldoe 
userpassword: hidden 
objectclass: ispSubscriber 

dn

Est le nom distinctif de l'entrée d'abonné.

commonName

Est l'attribut de nom d'une entrée d'abonné (classe d'objet ispSubscriber). Pour les abonnés et les administrateurs Solaris for ISPs, la valeur de l'attribut commonName prend la forme Prénom Nom (userid).

sn

Est le nom de l'abonné.

uid

Est le nom de connexion de l'abonné.

userPassword

Est le mot de passe, limité à huit caractères si vous partagez des informations de mot de passe avec des comptes UNIX. Cette valeur est générée avec la méthode de cryptage que vous avez définie dans la console d'administration des services de répertoire.

objectClass: ispSubscriber

Est le type de classe d'objet de l'entrée d'abonné.

Vous pouvez créer n'importe quel nombre d'entrées d'abonné en ajoutant des blocs de données avec différentes valeurs d'attribut au fichier. Une fois cette opération terminée, enregistrez et fermez people.ldif. Obtenez un accès racine et ajoutez les entrées de l'abonné dans le répertoire avec la commande suivante, en remplaçant le lien DN et le mot de passe par les vôtres :

# ldapadd -D "cn=admin,o=sun,c=US" -w password -f people.ldif

Ajout d'informations d'hôte virtuel FTP et Web

Les informations requises pour l'hébergement virtuel spécialement configuré avec SunTM Internet FTP ServerTM et SunTM WebServerTM (SWS) ajoutent uniquement trois attributs au fichier de données :

gidnumber: 60001 
uidnumber: 60001 
ispcontentdirectory: jldoe

gidNumber

Est l'ID de groupe UNIX spécifié pour cet utilisateur dans le domaine à hôte virtuel pour les services FTP et Web.

uidNumber

Est l'ID utilisateur UNIX spécifié pour cet utilisateur dans le domaine hébergé virtuellement pour les services FTP et Web.

ispContentDirectory

Est l'emplacement (par rapport à la racine de document du domaine associé) où se trouve le fichier de contenu de cet abonné.


Remarque :

La définition des valeurs des attributs uidNumber et gidNumber impliquent que les comptes UNIX existants soient correctement configurés pour partager l'accès au domaine FTP virtuel. Reportez-vous à l'aide en ligne de Sun Internet FTP Server pour obtenir des informations sur la définition d'une configuration d'hôte virtuel.


Vous pouvez créer n'importe quel nombre d'entrées d'abonné en ajoutant des blocs de données au fichier. Une fois cette opération terminée, enregistrez et fermez people.ldif. Obtenez un accès racine et ajoutez les entrées de l'abonné dans le répertoire avec la commande suivante, en remplaçant le lien DN et le mot de passe par les vôtres :

# ldapadd -D "cn=admin,o=sun,c=US" -w password -f people.ldif

Si vous avez déjà créé ces entrées, vous pouvez effectuer une opération ldapmodify. Localisez la page de manuel de ldapmodify(1) et suivez ces instructions.

Ajout d'informations utilisateur distant

Une entrée pour un abonné ayant accès aux services ISP par l'intermédiaire d'un serveur RADIUS doit supporter une classe d'objet supplémentaire ( remoteUser) et a plusieurs attributs ajoutés aux informations de l'entrée.


Remarque :

La configuration Solaris for ISPs par défaut désigne le domaine racine comme base de recherche pour les entrées d'abonné RADIUS. Si votre configuration est différente, utilisez la console d'administration des services de répertoire pour configurer RADIUS et entrez les valeurs adaptées à votre base de recherche.


Les lignes supplémentaires dans le fichier ldif sont les suivantes :

objectclass: remoteUser
authsuffixname: @ispxpress
grpcheckinfo: authSuffixName
grpcheckinfo: userPassword
authserviceprotocol: Framed-User
framedrouting: None
framedprotocol: PPP
grpreplyinfo: authServiceProtocol
grpreplyinfo: framedProtocol
grpreplyinfo: framedRouting 

objectClass: remoteUser

Est une classe d'objet obligatoire pour l'abonné accédant aux services à l'aide d'un serveur RADIUS.

authsuffixname: @ispxpress

Est un suffixe ajouté au nom d'utilisateur de l'abonné pour permettre au serveur RADIUS d'établir une distinction entre les entrées portant le même uid dans différents domaines. Entrez le suffixe approprié pour l'entrée d'utilisateur spécifique.

grpcheckinfo: authSuffixName

Indique que le serveur RADIUS doit vérifier la valeur d'attribut authSuffixName avant de sélectionner l'entrée pour authentification.

grpcheckinfo: userPassword

Indique que le serveur RADIUS doit vérifier la valeur d'attribut userPassword avant de sélectionner l'entrée à authentifier.

authserviceprotocol: Framed-User

Si vous utilisez la configuration RADIUS par défaut, entrez cet attribut tel qu'indiqué. La valeur correcte est déterminée par la configuration de votre serveur d'accès réseau.

framedrouting: None

Si vous utilisez la configuration RADIUS par défaut, entrez cet attribut tel quel. La valeur correcte est déterminée par la configuration de votre serveur d'accès réseau.

framedprotocol: PPP

Si vous utilisez la configuration RADIUS par défaut, entrez cet attribut tel qu'indiqué. La valeur correcte est déterminée par la configuration de votre serveur d'accès réseau.

grpreplyinfo: authServiceProtocol

Demande au serveur RADIUS d'inclure la valeur de l'attribut authServiceProtocol dans son message de réponse.

grpreplyinfo: framedProtocol

Demande au serveur RADIUS d'inclure la valeur de l'attribut framedProtocol dans son message de réponse.

grpreplyinfo: framedRouting

Demande au serveur RADIUS d'inclure la valeur de l'attribut framedRouting dans son message de réponse.

Vous pouvez créer n'importe quel nombre d'entrées d'abonné en ajoutant des blocs de données au fichier. Une fois cette opération terminée, enregistrez et fermez people.ldif. Obtenez un accès racine et ajoutez les entrées de l'abonné dans le répertoire avec la commande suivante, remplaçant le DN de liaison et le mot de passe par les vôtres :

# ldapadd -D "cn=admin,o=sun,c=US" -w password -f people.ldif

Si vous avez déjà créé ces entrées, vous pouvez effectuer une opération ldapmodify. Localisez la pagede manuel de ldapmodify(1) et suivez ces instructions.

Le fichier ldif terminé

Le fichier ldif terminé pour un utilisateur complexe a l'aspect suivant :

dn: cn=Jane Doe (jldoe),ou=People,ou=wcgate1,ou=eng,o=sun,c=US 
commonname: Jane Doe (jldoe) 
sn: Doe
uid: jldoe 
userpassword: hidden 
gidnumber: 60001 
uidnumber: 60001 
objectclass: ispSubscriber 
objectclass: remoteUser
ispcontentdirectory: /home/users/jldoe
authsuffixname: @ispxpress
grpcheckinfo: authSuffixName
grpcheckinfo: userPassword
authserviceprotocol: Framed-User
framedrouting: None
framedprotocol: PPP
grpreplyinfo: authServiceProtocol
grpreplyinfo: framedProtocol
grpreplyinfo: framedRouting 

Création d'entrées de groupe

Avant de pouvoir créer des entrées de groupe, un certain nombre d'entrées doit déjà exister :

Une fois que vous avez créé ces entrées, vous pouvez démarrer un fichier texte (par exemple, groups.ldif) et entrer les entrées pour le groupe. Un jeu de données typique a l'aspect suivant :

dn: cn=isp-gp1,ou=Groups,ou=wcgate1,ou=eng,o=sun,c=US 
cn: isp-grp1
objectclass: groupOfNames
member: cn=Ed Anchor (anchor),ou=People,ou=wcgate1,ou=eng,o=sun,c=US
member: cn=April Shower (showers),ou=People,ou=wcgate1,ou=eng,o=sun,c=US
member: cn=Chili Jones (relleno),ou=People,ou=wcgate1,ou=eng,o=sun,c=US

dn

Est le nom distinctif du groupe à créer.

cn

Est le nom distinctif relatif de l'entrée de groupe.

objectClass

La classe d'objet groupOfNames distingue ce type d'entrée.

member

Chaque attribut member prend comme valeur le nom distinctif d'une entrée d'abonné existante.

Vous pouvez créer n'importe quel nombre d'entrées de groupe en ajoutant des données au fichier. Une fois qu'il est terminé, enregistrez et fermez groups.ldif. Obtenez un accès racine et ajoutez les groupes au répertoire avec la commande suivante, en remplaçant le DN de liaison et le mot de passe par les vôtres :

# ldapadd -D "cn=admin,o=sun,c=US" -w password -f groups.ldif