\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{top=15mm, bottom=15mm, left=1cm, right=1cm}
\usepackage[french]{babel}
\usepackage{pslatex}
\usepackage[colorlinks=true,urlcolor=black]{hyperref}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[L]{Uubu.fr}
\fancyfoot[R]{ven. juil. 24 11:09:22 CEST 2015}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={draft-bannister-dbis-hosts-06},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={dbis: hosts},
CreationDate={D:20150724110922},
ModDate={D:20150724110922},
Keywords={LDAP;Lightweight Directory Access Protocol}
}}
\begin{document}
 
\begin{center}
{\Huge draft-bannister-dbis-hosts-06 }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large dbis: hosts}
 
\vspace{10mm}
 
\hspace{1mm}  Ce document étends DBIS pour supporter les hôtes, réseaux, masques de sous-réseaux, protocoles, rpc et services. Les schémas de base devraient être compatible avec NIS, mais stockés dans des entrées X.500 pour qu'ils puissent être résolus avec LDAP. Une base hosts mappe des noms d'hôte à des adresses IP, les réseaux mappent des noms réseaux à des numéros de réseaux, les netmask mappent des numéros de réseaux à des masques réseaux, les protocoles mappent des noms de protocole réseaux à des numéros de protocole réseaux, rpc mappent les noms de programmes RPC à des numéros de programme RPC et les services mappent des noms de service réseaux à des numéros de ports et protocoles.
\vspace{5mm} \\
 
 
\hspace{1mm}  Toutes les bases de données décrites dans ce document utilise les maps de configuration définis dans draft-bannister-dbis-mapping. Additionnellement, les entrées dbisMapConfig pour les base de données décrites dans ce document devraient avoir les objectClass décris ci-dessous. Il est recommandé que l'entrée dbisMapConfig pour une base hosts ait l'attribut dbisMapFilter définis en accord avec la tables suivante:
\vspace{5mm} \\
 
 
{\ttfamily
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\\ Database\_\_\_Configuration Class\_\_\_dbisMapFilter\\ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\\ hosts\_\_\_\_\_\_dbisHostConfig\_\_\_\_\_\_\_\_objectClass=ipHostObject\\ networks\_\_\_dbisNetworkConfig\_\_\_\_\_objectClass=ipNetworkObject\\ protocols\_\_dbisProtocolConfig\_\_\_\_objectClass=ipProtocolObject\\ rpc\_\_\_\_\_\_\_\_dbisRpcConfig\_\_\_\_\_\_\_\_\_objectClass=rpcObject\\ services\_\_\_dbisServiceConfig\_\_\_\_\_objectClass=ipServiceObject\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Exemple d'entrées de map de configuration }
 
\
 
\hspace{1mm} L'exemple suivante montre une entrée de map de configuraion pour une base hosts:
 
{\ttfamily
dn: cn=hosts,en=sales.corp,ou=domain-mappings,o=infra\\ objectClass: top\\ objectClass: dbisMapConfig\\ objectClass: dbisHostConfig\\ cn: hosts\\ dbisMapDN: cn=hosts,ou=dbis,o=infra\\ dbisMapFilter: objectClass=ipHostObject\\ profileTTL: 900\\ description: Primary hosts database\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Base hosts }
 
\
 
\hspace{1mm}  Une base host contient les champs suivants:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} -]{Une adresse IPv4 ou IPv6}
\item[\hspace{1mm} -]{Un nom d'hôte canonique}
\item[\hspace{1mm} -]{Des alias}
\end{description}
 
\vspace{1cm}{\huge ObjectClass }
 
\
 
\hspace{1mm}  Une entrée dbisMapConfig pour une base hosts devrait avoir l'objectClass dbisHostConfig. Une entrée host devrait être définis par une entrée LDAP avec l'objectClass ipv4HostObject ou ipv6HostObject.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge dbisHostConfig }
 
\
 
\hspace{1mm} La classe dbisHostConfig est définie comme suit:
 
{\ttfamily
objectclass ( 1.3.6.1.4.1.23780.219.1.15 NAME 'dbisHostConfig' DESC 'DBIS hosts configuration map' SUP dbisMapConfig STRUCTURAL )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge ipHostObject }
 
\
 
\hspace{1mm} La classe ipHostObject est définie comme suit:
 
{\ttfamily
objectclass ( 1.3.6.1.4.1.23780.219.1.16 NAME 'ipHostObject' DESC 'An IP address and associated host name' SUP top ABSTRACT MUST rn MAY ( authPassword \$ userPassword \$ description \$ manager \$ l \$ disableObject ) )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge ipv4HostObject }
 
\
 
\hspace{1mm} La classe ipv4HostObject est définie comme suit:
 
{\ttfamily
objectclass ( 1.3.6.1.4.1.23780.219.1.17 NAME 'ipv4HostObject' DESC 'An IPv4 address' SUP ipHostObject STRUCTURAL MUST ipv4Address )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge ipv6HostObject }
 
\
 
\hspace{1mm} La classe ipv6HostObject est définie comme suit:
 
{\ttfamily
objectclass ( 1.3.6.1.4.1.23780.219.1.18 NAME 'ipv6HostObject' DESC 'An IPv6 address' SUP ipHostObject STRUCTURAL MUST ipv6Address )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge attributs }
 
\
 
 
 
\vspace{1cm}{\huge rn }
 
\
 
\hspace{1mm}  Le nom canonique pleinement qualifié de l'hôte est stocké dans l'attribut rn qui est définis dans draft-bannister-dbis-mapping. L'attribut rn doit être associé avec une entrée ipHostObject et devrait former le RDN. Si requis, des entrées alias peuvent être définis.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge authPassword }
 
\
 
\hspace{1mm}  Un mot de passe chiffré peut être stocké dans l'attribut authPassword assigné à une entrée ipHostObject.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge userPassword }
 
\
 
\hspace{1mm}  Pour des raisons de compatibilité, un mot de passe chiffré peut être stocké dans l'attriut userPassword
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge ipv4Address }
 
\
 
\hspace{1mm} L'adresse IPv4 est stocké dans l'attribut ipv4Address qui doit être associé avec une entrée ipv4HostObject:
 
{\ttfamily
attributetype ( 1.3.6.1.4.1.23780.219.2.27 NAME 'ipv4Address' DESC 'An IPv4 address in dotted decimal format' EQUALITY caseIgnoreIA5Match SINGLE-VALUE SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26\{15\} )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge ipv6Address }
 
\
 
\hspace{1mm} L'adresse ipv6 est stockée dans l'attribut ipv6Address qui doit être associé avec une entrée ipv6HostObject:
 
{\ttfamily
attributetype ( 1.3.6.1.4.1.23780.219.2.28 NAME 'ipv6Address' DESC 'An IPv6 address \texttt{[}RFC2373\texttt{]}' EQUALITY caseIgnoreIA5Match SINGLE-VALUE SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26\{45\} )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Exemple d'entrée host }
 
\
 
\hspace{1mm} L'exemple suivant est une entrée ipv4HostObject au format LDIF:
 
{\ttfamily
dn: rn=picard,ou=hosts,o=infra\\ objectClass: top\\ objectClass: ipHostObject\\ objectClass: ipv4HostObject\\ rn: picard\\ ipv4Address: 10.11.12.13\\
}
\vspace{8mm}
 
\hspace{1mm} L'exemple suivant est une entrée ipv6HostObject:
 
{\ttfamily
dn: rn=picard-hive,ou=hosts,o=infra\\ objectClass: top\\ objectClass: ipHostObject\\ objectClass: ipv6HostObject\\ rn: picard-hive\\ ipv6Address: 0:1:2:3:4:5:6:7\\
}
\vspace{8mm}
 
\hspace{1mm} L'exemple suivant est une entrée alias d'hôte:
 
{\ttfamily
dn: rn=picard-eth0,ou=hosts,o=infra\\ objectClass: top\\ objectClass: alias\\ objectClass: extensibleObject\\ rn: picard-eth0\\ aliasedObjectName: rn=picard,ou=hosts,o=infras\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Base networks }
 
\
 
\hspace{1mm}  Une base networks contient les champs suivants:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} -]{Le nom d'un réseaux}
\item[\hspace{1mm} -]{Le numéro de réseau IP}
\item[\hspace{1mm} -]{Des alias}
\end{description}
 
\vspace{1cm}{\huge objectClass }
 
\
 
\hspace{1mm}  une entrée dbisMapConfig pour une base réseaux devait être assigné à l'objectClass dbisNetworkConfig. Une entrée network devrait être définie dans une entrée LDAP avec l'objectClass ipNetworkObject.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge dbisNetworkConfig }
 
\
 
\hspace{1mm} La classe dbisNetworkConfig est définie comme suit:
 
{\ttfamily
objectclass ( 1.3.6.1.4.1.23780.219.1.19 NAME 'dbisNetworkConfig' DESC 'DBIS networks configuration map' SUP dbisMapConfig STRUCTURAL )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge ipNetworkObject }
 
\
 
\hspace{1mm} La classe ipNetworkObject est définie comme suit:
 
{\ttfamily
objectclass ( 1.3.6.1.4.1.23780.219.1.20 NAME 'ipNetworkObject' DESC 'An IP network entry' SUP top STRUCTURAL MUST ipNetworkNumber MAY ( en \$ ipNetmaskNumber \$ description \$ manager \$ l \$ disableObject ) )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge en }
 
\
 
\hspace{1mm}  Le nom du réseau est stocké dans l'attribut en. Cet attribut peut être associé avec une entrée ipNetworkObject, et si fournis, devrait former le RDN. Si besoin des entrées alias peuvent être définies.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge ipNetworkNumber }
 
\
 
\hspace{1mm} L'adresse IP réseau est stocké dans l'attribut ipNetworkNumber qui doit être associé avec une entrée ipNetworkObject:
 
{\ttfamily
attributetype ( 1.3.6.1.1.1.1.20 NAME 'ipNetworkNumber' DESC 'IP network as a dotted decimal, eg. 192.168, omitting leading zeros' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )\\
}
\vspace{8mm}
 
\hspace{1mm}  Si l'attribut en n'est pas fournis, ipNetworkNumber devrait former le RDN.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge ipNetmaskNumber }
 
\
 
\hspace{1mm} Le masque de réseau est stocké dans l'attribut ipNetmaskNumber qui peut être associé avec une entrée ipNetworkObject
 
{\ttfamily
attributetype ( 1.3.6.1.1.1.1.21 NAME 'ipNetmaskNumber' DESC 'IP netmask as a dotted decimal, eg. 255.255.255.0, omitting leading zeros' EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Exemple d'entrée network }
 
\
 
\hspace{1mm} L'exemple suivant montre une entrée ipNetworkObject au format LDIF:
 
{\ttfamily
dn: en=lab,ou=networks,o=infra\\ objectClass: top\\ objectClass: ipNetworkObject\\ en: lab\\ ipNetworkNumber: 10.23.10\\ ipNetmaskNumber: 255.255.255.0\\
}
\vspace{8mm}
 
\hspace{1mm} L'exemple suivant montre une entrée alias:
 
{\ttfamily
dn: en=testnet,ou=networks,o=infra\\ objectClass: top\\ objectClass: alias\\ objectClass: extensibleObject\\ en: testnet\\ aliasedObjectName: en=lab,ou=networks,o=infra\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Base protocols }
 
\
 
\hspace{1mm}  Une base protocols contient les champs suivants:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} -]{Le nom du protocole}
\item[\hspace{1mm} -]{Le numéro du protocole}
\item[\hspace{1mm} -]{Des alias}
\end{description}
 
\vspace{1cm}{\huge ObjectClass }
 
\
 
\hspace{1mm}  Une entrée dbisMapConfig pour une base protocols devrait avoir l'objectClass dbisProtocolConfig. Une entrée protocol devrait être définis dans une entrée avec la classe ipProtocolObject.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge dbisProtocolConfig }
 
\
 
\hspace{1mm} La classe dbisProtocolConfig est définie comme suit:
 
{\ttfamily
objectclass ( 1.3.6.1.4.1.23780.219.1.21 NAME 'dbisProtocolConfig' DESC 'DBIS protocols configuration map' SUP dbisMapConfig STRUCTURAL )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge ipProtocolObject }
 
\
 
\hspace{1mm} La classe ipProtocolObject est définie comme suit:
 
{\ttfamily
objectclass ( 1.3.6.1.4.1.23780.219.1.22 NAME 'ipProtocolObject' DESC 'An IP protocol entry' SUP top STRUCTURAL MUST ( en \$ ipProtocolNumber ) MAY ( description \$ manager \$ disableObject ) )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Attribut }
 
\
 
 
 
\vspace{1cm}{\huge en }
 
\
 
\hspace{1mm}  Le nom du protocole est stocké dans l'attribut en qui doit être associé avec une entrée ipProtocolObject et devrait former le RDN. Si besoin, des alias peuvent être définis.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge ipProtocolNumber }
 
\
 
\hspace{1mm} Le numéro de protocole est stocké dans l'attribut ipProtocolNumber qui doit être assigné à une entrée ipProtocolObject:
 
{\ttfamily
attributetype ( 1.3.6.1.1.1.1.17 NAME 'ipProtocolNumber' DESC 'IP protocol number' EQUALITY integerMatch ORDERING integerOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Exemples d'entrée protocol }
 
\
 
\hspace{1mm} L'exemple suivant montre une entrée ipProtocolObject au format LDIF:
 
{\ttfamily
dn: en=ip,ou=protocols,o=infra\\ objectClass: top\\ objectClass: ipProtocolObject\\ en: ip\\ ipProtocolNumber: 0\\
}
\vspace{8mm}
 
\hspace{1mm} L'exemple suivant montre une entrée alias:
 
{\ttfamily
dn: en=IP,ou=protocols,o=infra\\ objectClass: top\\ objectClass: alias\\ objectClass: extensibleObject\\ en: IP\\ aliasedObjectName: en=ip,ou=protocols,o=infra\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge base rpc }
 
\
 
\hspace{1mm}  Une base RPC contient les champs suivants:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} -]{Le nom du programme RPC}
\item[\hspace{1mm} -]{Le numéro du programme RPC}
\item[\hspace{1mm} -]{Les alias}
\end{description}
 
\vspace{1cm}{\huge ObjectClass }
 
\
 
\hspace{1mm}  Une entrée dbisMapConfig pour une base rpc devrait avoir la clé dbisRpcConfig. Une entrée rpc devrait être définie dans une entrée avec la classe rpcObject.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge dbisRpcConfig }
 
\
 
\hspace{1mm} La classe dbisRpcConfig est définie comme suit:
 
{\ttfamily
objectclass ( 1.3.6.1.4.1.23780.219.1.23 NAME 'dbisRpcConfig' DESC 'DBIS rpc configuration map' SUP dbisMapConfig STRUCTURAL )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge rpcObject }
 
\
 
\hspace{1mm} La classe rpcObject est définie comme suit:
 
{\ttfamily
objectclass ( 1.3.6.1.4.1.23780.219.1.24 NAME 'rpcObject' DESC 'An rpc entry \texttt{[}RFC1057\texttt{]}' SUP top STRUCTURAL MUST ( en \$ rpcNumber ) MAY ( description \$ manager \$ disableObject ) )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge en }
 
\
 
\hspace{1mm}  Le nom du programme rpc est stocké dans l'attribut en qui doit être associé avec une entrée rpcObject et devrait former le RDN. Si besoin, des entrées alias peuvent être définies.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge rpcNumber }
 
\
 
\hspace{1mm} Le numéro de programme RPC est stocké dans l'attribut rpcNumber qui doit être associé avec une entrée rpcObject
 
{\ttfamily
attributetype ( 1.3.6.1.4.1.23780.219.2.29 NAME 'rpcNumber' DESC 'RPC program number \texttt{[}RFC1057\texttt{]}' EQUALITY integerMatch ORDERING integerOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Exemple d'entrée RPC }
 
\
 
\hspace{1mm} L'exemple suivant montre une entrée rpcObject au format ldif:
 
{\ttfamily
dn: en=rpcbind,ou=rpc,o=infra\\ objectClass: top\\ objectClass: rpcObject\\ en: rpcbind\\ rpcNumber: 100000\\
}
\vspace{8mm}
 
\hspace{1mm} L'exemple suivant montre une entrée alias:
 
{\ttfamily
dn: en=portmap,ou=protocols,o=infra\\ objectClass: top\\ objectClass: alias\\ objectClass: extensibleObject\\ en: portmap\\ aliasedObjectName: en=rpcbind,ou=rpc,o=infra\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge base services }
 
\
 
\hspace{1mm}  Une base services contient les champs suivants:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} -]{Nom du service}
\item[\hspace{1mm} -]{Numéro de port et nom du protocole}
\item[\hspace{1mm} -]{alias}
\end{description}
 
\hspace{1mm}  Le RDN peut être constitué de l'attribut en, cependant, où une entrée ne peut pas être identifiée de manière unique dûe à la présente d'autres services qui utilisent le même nom de service et numéro de port mais avec un nom de protocole différent, un RDN multi-valué devrait être utilisé à la place.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge ObjectClass }
 
\
 
\hspace{1mm}  Une entrée dbisMapConfig pour une base service devait avoir l'objectClass dbisServiceConfig. Une entrée service devrait être définie par une entrée avec la classe ipServiceObject.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge dbisServiceConfig }
 
\
 
\hspace{1mm} La classe dbisServiceConfig est définie comme suit:
 
{\ttfamily
objectclass ( 1.3.6.1.4.1.23780.219.1.25 NAME 'dbisServiceConfig' DESC 'DBIS services configuration map' SUP dbisMapConfig STRUCTURAL )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge ipServiceObject }
 
\
 
\hspace{1mm} La classe ipServiceObject est définis comme suit:
 
{\ttfamily
objectclass ( 1.3.6.1.4.1.23780.219.1.26 NAME 'ipServiceObject' DESC 'An IP service entry' SUP top STRUCTURAL MUST ( en \$ ipServicePort \$ ipProtocolName ) MAY ( description \$ manager \$ disableObject ) )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge en }
 
\
 
\hspace{1mm}  Le nom du service est stocké dans l'attribut en qui doit être associé avec une entrée ipServiceObject et devrait former le RDN.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge ipServicePort }
 
\
 
\hspace{1mm} Le numéro de port IP du service est stocké dans l'attribut ipServiceport qui doit être associé avec une entrée ipServiceObject:
 
{\ttfamily
attributetype ( 1.3.6.1.1.1.1.15 NAME ( 'ipServicePort' ) DESC 'IP port number' EQUALITY integerMatch ORDERING integerOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge ipProtocolName }
 
\
 
\hspace{1mm} Le nom du protocole du service est stocké dans l'attribut ipProtocolName qui doit être associé avec une entrée ipServiceObject:
 
{\ttfamily
attributetype ( 1.3.6.1.4.1.23780.219.2.30 NAME 'ipProtocolName' DESC 'IP protocol name' EQUALITY caseExactMatch SINGLE-VALUE SUBSTR caseExactSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15\{32768\} )\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Exemples d'entrée service }
 
\
 
\hspace{1mm} L'exemple suivant montre une entrée ipServiceObject au format LDIF:
 
{\ttfamily
dn: en=smtp,ou=services,o=infra\\ objectClass: top\\ objectClass: ipServiceObject\\ en: smtp\\ ipServicePort: 25\\ ipProtocolName: tcp\\
}
\vspace{8mm}
 
\hspace{1mm} L'exemple suivant est un exemple d'une entrée alias de service:
 
{\ttfamily
dn: en=mail,ou=services,o=infra\\ objectClass: top\\ objectClass: alias\\ objectClass: extensibleObject\\ en: mail\\ aliasedObjectName: en=smtp,ou=services,o=infra\\
}
\vspace{8mm}
 
\hspace{1mm} L'exemple suivant montre des entrées services multi-valués:
 
{\ttfamily
dn: en=rpcbind+ipProtocolName=udp,ou=services,o=infra\\ objectClass: top\\ objectClass: ipServiceObject\\ en: rpcbind\\ ipServicePort: 111\\ ipProtocolName: udp\\ \hspace{2mm}\\ dn: en=rpcbind+ipProtocolName=tcp,ou=services,o=infra\\ objectClass: top\\ objectClass: ipServiceObject\\ en: rpcbind\\ ipServicePort: 111\\ ipProtocolName: tcp\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Attributs communs }
 
\
 
\hspace{1mm}  Ce document utilise les attributs communs suivant.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge description }
 
\
 
\hspace{1mm}  L'attribut description peut être associé avec une entrée pour fournir une description arbitraire de l'entrée
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge manager }
 
\
 
\hspace{1mm}  L'attribut manager peut être associé avec une entrée pour fournir un ou plusieurs dn des individus, groupes ou systèmes qui sont responsable pour maintenir l'entrée.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge l }
 
\
 
\hspace{1mm}  L'attribut l peut être associé avec une entrée pour fournir des détails de localisation.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge disableObject }
 
\
 
\hspace{1mm}  Une entrée peut être désactivée en définissant l'attribut disableObject à TRUE. Si une entrée est désactivée, le DUA devrait se comporter comme si l'entrée n'existait pas. Le DUA peut optionnellement fournir un mécanisme pour lister les entrées désactivées, mais ils doivent être clairement marqués comme désactivés pour qu'aucune confusion ne se produise.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Syntaxe d'attributs }
 
\
 
\hspace{1mm} Les syntaxes suivante sont utilisée par les attributs définis dans ce document:
 
{\ttfamily
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\\ - Syntax OID - - - - - - - - - - Value - - - - - - Reference\\ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\\ - 1.3.6.1.4.1.1466.115.121.1.15 -Directory String -\texttt{[}RFC4517\texttt{]}\\ - 1.3.6.1.4.1.1466.115.121.1.26 -IA5 String - - - -\texttt{[}RFC4517\texttt{]}\\ - 1.3.6.1.4.1.1466.115.121.1.27 -Integer - - - - - \texttt{[}RFC4517\texttt{]}\\ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Mappage des champs NIS }
 
\
 
\hspace{1mm}  Tous les champs qui sont requis pour générer des bases correspondante dans NIS existent dans ce schéma et peuvent être mappé aux types d'attributs en utilisant les productions ABNF décrites dans draft-bannister-dbis-netgroup.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge hosts }
 
\
 
\hspace{1mm} Les champs de base hosts sont mappés comme suit:
 
{\ttfamily
ipaddr = ipv4Address / ipv6Address\\ hostname = rn\\ alias = rn ; dérivé, voir plus bas\\ \hspace{2mm}\\ hosts-entry = ipaddr SPACE hostname *(SPACE alias)\\
}
\vspace{8mm}
 
\hspace{1mm}  Alias est dérivé de l'attribut rn utilisé avec les entrées qui référencent celle-ci via aliasedObjectName.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge networks }
 
\
 
\hspace{1mm} Les champs de base networks sont mappés comme suit:
 
{\ttfamily
network-name = en\\ network-number = ipNetworkNumber\\ alias = en ; dérivé, voir plus bas\\ \hspace{2mm}\\ networks-entry = network-name SPACE network-number *(SPACE alias)\\
}
\vspace{8mm}
 
\hspace{1mm}  Alias est dérivé de l'attribut en utilisé avec les entrées qui référencent celle-ci via aliasedObjectName.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge netmasks }
 
\
 
\hspace{1mm} Les champs de base netmasks sont mappés comme suit:
 
{\ttfamily
network-number = ipNetworkNumber\\ netmask = ipNetmaskNumber\\ \hspace{2mm}\\ netmasks-entry = network-number SPACE netmask\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge protocols }
 
\
 
\hspace{1mm} Les champs de base protocols sont mappés comme suit:
 
{\ttfamily
proto-name = en\\ proto-number = ipProtocolNumber\\ alias = en ; dérivé, voir plus bas\\ \hspace{2mm}\\ protocols-entry = proto-name SPACE proto-number *(SPACE alias)\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge rpc }
 
\
 
\hspace{1mm} Les champs de base rpc sont mappés comme suit:
 
{\ttfamily
rpc-name = en\\ rpc-number = rpcNumber\\ alias = en ; dérivé, voir plus bas\\ \hspace{2mm}\\ rpc-entry = rpc-name SPACE rpc-number *(SPACE alias)\\
}
\vspace{8mm}
 
\hspace{1mm}  Alias est dérivé de l'attribut en utilisé avec les entrées qui référencent celle-ci via aliasedObjectName
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge services }
 
\
 
\hspace{1mm} Les champs de base services sont mappés comme suit:
 
{\ttfamily
service-name = en\\ service-port = ipServicePort\\ service-protocol = ipProtocolName\\ alias = en ; dérivé, voir plus bas\\ \hspace{2mm}\\ services-entry = service-name SPACE service-port SLASH service-protocol *(SPACE alias)\\
}
\vspace{8mm}
 
\hspace{1mm}  Alias est dérivé de l'attribut en utilisé avec les entrées qui référencent celle-ci via aliasedObjectName .
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Filtres de recherches communs }
 
\
 
\hspace{1mm}  Cette section fournis des exemples de filtre de recherche LDAP pour obtenir les entrées de base avec des critères d'entrée communément utilisés.
\vspace{5mm} \\
 
 
\hspace{1mm}  Pour simplifier les exemples, toutes les bases sont supposés avoir été définis avec seulement une entrée de map de configuration. Le DN de base utilisé dans les opérations de recherche décris dans cette section vient le l'attribut dbisMapDN assigné à l'entrée dbisMapConfig. Noter qu'une entrée dbisMapConfig peut en avoir plusieurs.
\vspace{5mm} \\
 
 
\hspace{1mm}  Quand il apparaît dans les filtres de recherche, le texte "dbisMapFilter" réfère à la valeur assignée dans l'attribut de même nom dans l'entrée dbisMapConfig correspondante. Les noms d'attributs utilisé dans les filtres de recherche peuvent être modifiés par l'attribut dbisMapAttr assigné à l'entrée dbisMapConfig.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Trouver la map de configuration pour un domaine }
 
\
 
\hspace{1mm}  Pour localiser la map de configuration pour un domaine dbis donné, rechercher les entrées sous l'entrée dbisDomainObject:
\vspace{5mm} \\
 
 
\hspace{1mm} Les maps d'hôte peuvent être trouvés avec le filtre de recherche suivant: \\
\hspace{1mm} \textbf{(\&(objectClass=dbisHostConfig)(!(disableObject=TRUE)))} \\
\hspace{1mm} Les maps réseaux peuvent être trouvés avec le filtre de recherche suivant: \\
\hspace{1mm} \textbf{(\&(objectClass=dbisNetworkConfig)(!(disableObject=TRUE)))} \\
\hspace{1mm} Les maps protocols peuvent être trouvés avec le filtre de recherche suivant: \\
\hspace{1mm} \textbf{(\&(objectClass=dbisProtocolConfig)(!(disableObject=TRUE)))} \\
\hspace{1mm} Les maps rpc peuvent être trouvés avec le filtre de recherche suivant: \\
\hspace{1mm} \textbf{(\&(objectClass=dbisRpcConfig)(!(disableObject=TRUE)))} \\
\hspace{1mm} Les maps services peuvent être trouvés avec le filtre de recherche suivant: \\
\hspace{1mm} \textbf{(\&(objectClass=dbisServiceConfig)(!(disableObject=TRUE)))} \\
 
\vspace{1cm}{\huge Lister toutes les entrées }
 
\
 
\hspace{1mm} Les entrées pour une base donnée sont énumérées en appliquant le filtre suivant: \\
\hspace{1mm} \textbf{(\&(dbisMapFilter)(!(disableObject=TRUE)))} \\
 
\vspace{1cm}{\huge Trouver des entrées spécifiques }
 
\
 
\hspace{1mm} Une entrée hôte nommé "name", sa définition est localisé en utilisant: \\
\hspace{1mm} \textbf{(\&(dbisMapFilter)(!(disableObject=TRUE))(rn=name))} \\
\hspace{1mm} Une entrée networks, protocols, rpc ou services nommé "name", sa définition est localisée en utilisant: \\
\hspace{1mm} \textbf{(\&(dbisMapFilter)(!(disableObject=TRUE))(en=name))} \\
 
\vspace{1cm}{\huge Trouver un hôte par adresse }
 
\
 
\hspace{1mm} Une entrée d'hôte ayant une IPv4, sa définition est localisée en utilisant: \\
\hspace{1mm} \textbf{(\&(dbisMapFilter)(!(disableObject=TRUE))(ipv4Address=ipv4))} \\
\hspace{1mm} Avec une IPv6: \\
\hspace{1mm} \textbf{(\&(dbisMapFilter)(!(disableObject=TRUE))(ipv6Address=ipv6))} \\
 
\vspace{1cm}{\huge Trouver un réseau par adresse }
 
\
 
\hspace{1mm} Pour localiser une entrée réseau par son adresse, utiliser: \\
\hspace{1mm} \textbf{(\&(dbisMapFilter)(!(disableObject=TRUE))(ipNetworkNumber=netip))} \\
 
\vspace{1cm}{\huge Trouver par numéro }
 
\
 
\hspace{1mm} La définition du protocole de numéro "protonum" est localisé: \\
\hspace{1mm} \textbf{(\&(dbisMapFilter)(!(disableObject=TRUE))(ipProtocolNumber=protonum))} \\
\hspace{1mm} Pour localiser une entrée rpc pas son numéro de programme "rpcnum", utiliser: \\
\hspace{1mm} \textbf{(\&(dbisMapFilter)(!(disableObject=TRUE))(rpcNumber=rpcnum))} \\
 
\vspace{1cm}{\huge Autres exemples }
 
\
 
\hspace{1mm} Pour trouver l'entrée service nommé "servname" et le protocole "servproto", utiliser: \\
\hspace{1mm} \textbf{(\&(dbisMapFilter)(!(disableObject=TRUE))(en=servname)(ipProtocolName=servproto))} \\
\hspace{1mm} Pour trouver l'entrée de service pour le port "servport" et les protocole "servproto", utiliser: \\
\hspace{1mm} \textbf{(\&(dbisMapFilter)(!(disableObject=TRUE))(ipServicePort=servport)(ipProtocolName=servproto))} \\
\end{flushleft}
\end{document}
