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.
Sun Directory Services possède les utilitaires de ligne de commande suivants pour créer et modifier les entrées de répertoire :
ldapadd
ldapmodify
ldapdelete
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 :
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).
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
Où 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éé.
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.
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
Où
Indique le nom distinctif de l'entrée créée.
Est l'attribut de nom de l'entrée créée. Les attributs de nom commun incluent commonName, organizationalUnit (ou) et domainComponent ( dc).
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.
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.
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 :
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).
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).
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
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
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
Enregistrez et fermez domain.ldif.
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.
Il existe plusieurs variétés d'abonnés de Solaris for ISPs :
L'abonné général (de base)
L'abonné qui utilise les services FTP ou Web à hôte virtuel
L'abonné qui a accès aux services par l'intermédiaire d'un serveur RADIUS
L'abonné qui utilise les deux et dont l'entrée de répertoire nécessite à la fois des informations RADIUS et FTP
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.
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
Où
Est le nom distinctif de l'entrée d'abonné.
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).
Est le nom de l'abonné.
Est le nom de connexion de l'abonné.
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.
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
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
Où
Est l'ID de groupe UNIX spécifié pour cet utilisateur dans le domaine à hôte virtuel pour les services FTP et Web.
Est l'ID utilisateur UNIX spécifié pour cet utilisateur dans le domaine hébergé virtuellement pour les services FTP et Web.
Est l'emplacement (par rapport à la racine de document du domaine associé) où se trouve le fichier de contenu de cet abonné.
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.
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.
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
Où
Est une classe d'objet obligatoire pour l'abonné accédant aux services à l'aide d'un serveur RADIUS.
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.
Indique que le serveur RADIUS doit vérifier la valeur d'attribut authSuffixName avant de sélectionner l'entrée pour authentification.
Indique que le serveur RADIUS doit vérifier la valeur d'attribut userPassword avant de sélectionner l'entrée à authentifier.
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.
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.
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.
Demande au serveur RADIUS d'inclure la valeur de l'attribut authServiceProtocol dans son message de réponse.
Demande au serveur RADIUS d'inclure la valeur de l'attribut framedProtocol dans son message de réponse.
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é 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
Avant de pouvoir créer des entrées de groupe, un certain nombre d'entrées doit déjà exister :
Les deux entrées de domaine (arborescences OSI et DC)
L'entrée d'unité organisationnelle Group
Les entrées d'abonné (sous le noeud People) qui deviendront les membres du groupe.
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
Où
Est le nom distinctif du groupe à créer.
Est le nom distinctif relatif de l'entrée de groupe.
La classe d'objet groupOfNames distingue ce type d'entrée.
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