1999-10-01 00:57:45 +08:00
|
|
|
# $OpenLDAP$
|
2000-07-23 02:59:40 +08:00
|
|
|
# Copyright 1999-2000, The OpenLDAP Foundation, All Rights Reserved.
|
1999-04-24 07:41:45 +08:00
|
|
|
# COPYING RESTRICTIONS APPLY, see COPYRIGHT.
|
1999-05-03 09:19:22 +08:00
|
|
|
|
1999-04-24 07:00:44 +08:00
|
|
|
H1: Database Creation and Maintenance Tools
|
|
|
|
|
|
|
|
This section tells you how to create a slapd database from
|
|
|
|
scratch, and how to do trouble shooting if you run into
|
|
|
|
problems. There are two ways to create a database. First,
|
|
|
|
you can create the database on-line using LDAP. With this
|
|
|
|
method, you simply start up slapd and add entries using the
|
|
|
|
LDAP client of your choice. This method is fine for relatively
|
|
|
|
small databases (a few hundred or thousand entries,
|
2000-08-10 13:23:38 +08:00
|
|
|
depending on your requirements). This method works for database
|
2000-08-08 10:17:25 +08:00
|
|
|
types which support updates.
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-08-08 10:17:25 +08:00
|
|
|
The second method of database creation is to do it off-line
|
|
|
|
using special utilities provided with slapd. This method is
|
|
|
|
best if you have many thousands of entries to create, which
|
|
|
|
would take an unacceptably long time using the LDAP method,
|
|
|
|
or if you want to ensure the database is not accessed while
|
2000-08-10 13:23:38 +08:00
|
|
|
it is being created. Note that not all database types support
|
2000-08-08 10:17:25 +08:00
|
|
|
these utilitites.
|
1999-04-24 07:00:44 +08:00
|
|
|
|
|
|
|
|
|
|
|
H2: Creating a database over LDAP
|
|
|
|
|
|
|
|
With this method, you use the LDAP client of your choice
|
2000-08-08 10:17:25 +08:00
|
|
|
(e.g., the ldapadd(1)) to add entries, just like you would
|
1999-04-24 07:00:44 +08:00
|
|
|
once the database is created. You should be sure to set the
|
|
|
|
following configuration options before starting slapd:
|
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> suffix <dn>
|
1999-04-24 07:00:44 +08:00
|
|
|
|
|
|
|
As described in the preceding section, this option says what
|
|
|
|
entries are to be held by this database. You should set this
|
|
|
|
to the DN of the root of the subtree you are trying to create.
|
|
|
|
For example
|
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> suffix "dc=example, dc=com"
|
1999-04-24 07:00:44 +08:00
|
|
|
|
|
|
|
You should be sure to specify a directory where the index
|
|
|
|
files should be created:
|
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> directory <directory>
|
1999-04-24 07:00:44 +08:00
|
|
|
|
|
|
|
For example:
|
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> directory /usr/local/var/openldap-ldbm
|
2000-08-08 10:17:25 +08:00
|
|
|
|
|
|
|
You need to create this directory with appropriate permissions
|
|
|
|
such that slapd can write to it.
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-08-08 10:17:25 +08:00
|
|
|
You need to make it so you can connect to slapd as directory user
|
2000-08-10 13:23:38 +08:00
|
|
|
with permission to add entries. You can configure the directory
|
2000-08-08 10:17:25 +08:00
|
|
|
to support a special {{super-user}} or {{root}} user just for
|
2000-08-10 13:23:38 +08:00
|
|
|
this purpose. This is done through the following two options
|
2000-08-08 10:17:25 +08:00
|
|
|
in the database definition:
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> rootdn <dn>
|
|
|
|
> rootpw <passwd>
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-08-08 10:17:25 +08:00
|
|
|
For example:
|
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> rootdn "cn=Manager, dc=example, dc=com"
|
|
|
|
> rootpw secret
|
2000-08-08 10:17:25 +08:00
|
|
|
|
1999-04-24 07:00:44 +08:00
|
|
|
These options specify a DN and password that can be used
|
2000-08-08 10:17:25 +08:00
|
|
|
to authenticate as the {{super-user}} entry of the database (i.e.,
|
2000-08-10 13:23:38 +08:00
|
|
|
the entry allowed to do anything). The DN and password
|
1999-04-24 07:00:44 +08:00
|
|
|
specified here will always work, regardless of whether the
|
|
|
|
entry named actually exists or has the password given. This
|
|
|
|
solves the chicken-and-egg problem of how to authenticate
|
|
|
|
and add entries before any entries yet exist.
|
|
|
|
|
|
|
|
Finally, you should make sure that the database definition
|
|
|
|
contains the index definitions you want:
|
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> index {<attrlist> | default} [pres,eq,approx,sub,none]
|
1999-04-24 07:00:44 +08:00
|
|
|
|
|
|
|
For example, to index the cn, sn, uid and objectclass
|
|
|
|
attributes the following index configuration lines could be
|
|
|
|
used.
|
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> index cn,sn,uid
|
2000-09-03 04:16:36 +08:00
|
|
|
> index objectClass pres,eq
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-09-03 04:16:36 +08:00
|
|
|
See {{SECT:The slapd Configuration File}} section for more details on
|
1999-04-24 07:00:44 +08:00
|
|
|
this option. Once you have configured things to your liking,
|
|
|
|
start up slapd, connect with your LDAP client, and start
|
1999-04-25 07:11:27 +08:00
|
|
|
adding entries. For example, to add a the organizational entry
|
1999-04-24 07:00:44 +08:00
|
|
|
followed by a Postmaster entry using the {{I:ldapadd}} tool, you
|
2000-08-08 10:17:25 +08:00
|
|
|
could create an {{TERM:LDIF}} file called {{EX:entries.ldif}} with the
|
|
|
|
contents:
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> dc=example, dc=com
|
|
|
|
> objectClass=dcObject
|
|
|
|
> objectClass=organization
|
|
|
|
> dc=example
|
|
|
|
> o=Example Corporation
|
|
|
|
> description=The Example Corporation
|
|
|
|
>
|
|
|
|
> cn=Postmaster, dc=example, dc=com
|
|
|
|
> objectClass=organizationalRole
|
|
|
|
> cn=Postmaster
|
|
|
|
> description=OpenLDAP Postmaster <Postmaster@example.com>
|
1999-04-24 07:00:44 +08:00
|
|
|
|
|
|
|
and then use a command like this to actually create the
|
|
|
|
entry:
|
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> ldapadd -f entries.ldif -x -D "cn=Manager,dc=example,dc=com" -w secret
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-08-08 10:17:25 +08:00
|
|
|
The above command assumes settings provided in the above
|
|
|
|
examples.
|
1999-04-24 07:00:44 +08:00
|
|
|
|
1999-05-03 09:19:22 +08:00
|
|
|
|
1999-04-24 07:00:44 +08:00
|
|
|
H2: Creating a database off-line
|
|
|
|
|
|
|
|
The second method of database creation is to do it off-line,
|
2000-08-08 10:17:25 +08:00
|
|
|
using the slapd database tools described below. This method is
|
|
|
|
best if you have many thousands of entries to create, which
|
|
|
|
would take an unacceptably long time using
|
1999-04-24 07:00:44 +08:00
|
|
|
the LDAP method described above. These tools read the
|
|
|
|
slapd configuration file and an input file containing a text
|
2000-08-10 13:23:38 +08:00
|
|
|
representation of the entries to add. For database types which
|
2000-08-08 10:17:25 +08:00
|
|
|
support the tools, they produce the database files directly (otherwise
|
|
|
|
you must use the on-line method above). There are several important
|
|
|
|
configuration options you will want to be sure and set in the config
|
|
|
|
file database definition first:
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> suffix <dn>
|
1999-04-24 07:00:44 +08:00
|
|
|
|
|
|
|
As described in the preceding section, this option says what
|
|
|
|
entries are to be held by this database. You should set this
|
|
|
|
to the DN of the root of the subtree you are trying to create.
|
|
|
|
For example
|
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> suffix "dc=example, dc=com"
|
1999-04-24 07:00:44 +08:00
|
|
|
|
|
|
|
You should be sure to specify a directory where the index
|
|
|
|
files should be created:
|
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> directory <directory>
|
1999-04-24 07:00:44 +08:00
|
|
|
|
|
|
|
For example:
|
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> directory /usr/local/var/openldap-ldbm
|
1999-04-24 07:00:44 +08:00
|
|
|
|
|
|
|
Finally, you need to specify which indexes you want to build.
|
|
|
|
This is done by one or more index options.
|
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> index {<attrlist> | default} [pres,eq,approx,sub,none]
|
1999-04-24 07:00:44 +08:00
|
|
|
|
|
|
|
For example:
|
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> index cn,sn,uid pres,eq,approx
|
|
|
|
> index objectClass eq
|
1999-04-24 07:00:44 +08:00
|
|
|
|
|
|
|
This would create presence, equality and approximate
|
2000-09-03 04:16:36 +08:00
|
|
|
indexes for the {{EX:cn}}, {{EX:sn}}, and {{EX:uid}} attributes
|
|
|
|
and an equality index for the {{EX:objectClass}} attribute. See
|
|
|
|
the configuration file section for more information on this option.
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
H3: The {{EX:slapadd}} program
|
1999-04-24 07:00:44 +08:00
|
|
|
|
|
|
|
Once you've configured things to your liking, you create the
|
2000-08-08 10:17:25 +08:00
|
|
|
primary database and associated indexes by running the
|
|
|
|
{{slapadd}}(8) program:
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> slapadd -l <inputfile> -f <slapdconfigfile>
|
|
|
|
> [-d <debuglevel>] [-n <integer>|-b <suffix>]
|
1999-04-24 07:00:44 +08:00
|
|
|
|
|
|
|
The arguments have the following meanings:
|
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> -l <inputfile>
|
1999-04-24 07:00:44 +08:00
|
|
|
|
|
|
|
Specifies the LDIF input file containing the entries to add in
|
2000-09-03 04:16:36 +08:00
|
|
|
text form (described below in the {{SECT:The LDIF text entry format}}
|
|
|
|
section).
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> -f <slapdconfigfile>
|
1999-04-24 07:00:44 +08:00
|
|
|
|
|
|
|
Specifies the slapd configuration file that tells where to
|
|
|
|
create the indexes, what indexes to create, etc.
|
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> -d <debuglevel>
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
Turn on debugging, as specified by {{EX:<debuglevel>}}. The
|
2000-09-03 04:16:36 +08:00
|
|
|
debug levels are the same as for slapd. See
|
|
|
|
the {{SECT:Command-Line Options}} section in {{SECT:Running slapd}}.
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> -n <databasenumber>
|
1999-04-24 07:00:44 +08:00
|
|
|
|
|
|
|
An optional argument that specifies the configuration file
|
2000-08-08 10:17:25 +08:00
|
|
|
database for which to build. The first database listed
|
1999-04-24 07:00:44 +08:00
|
|
|
is "1", the second "2", etc. By default, the first ldbm database
|
2000-08-10 13:23:38 +08:00
|
|
|
in the configuration file is used. Should not be used in
|
2000-08-08 10:17:25 +08:00
|
|
|
conjunction with {{EX:-b}}.
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> -b <suffix>
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-08-08 10:17:25 +08:00
|
|
|
An optional argument that specifies the configuration file
|
2000-08-10 13:23:38 +08:00
|
|
|
database for which to build. The provided suffix is matched
|
2000-08-08 10:17:25 +08:00
|
|
|
against database {{EX:suffix}} to determine the database
|
2000-08-10 13:23:38 +08:00
|
|
|
number. Should not be used in conjunction with {{EX:-n}}.
|
1999-04-24 07:00:44 +08:00
|
|
|
|
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
H3: The {{EX:slapindex}} program
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-08-08 10:17:25 +08:00
|
|
|
Sometimes it may be necessary to regenerate indices (such
|
2000-08-10 13:23:38 +08:00
|
|
|
as after modifying {{slapd.conf}}(5)). This is possible using
|
2000-09-03 04:16:36 +08:00
|
|
|
the {{slapindex}}(8) program. {{slapindex}} is invoked
|
1999-04-24 07:00:44 +08:00
|
|
|
like this
|
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> slapindex -f <slapdconfigfile>
|
|
|
|
> [-d <debuglevel>] [-n <databasenumber>|-b <suffix>]
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-08-08 10:17:25 +08:00
|
|
|
Where the -f, -d, -n and -b options are the same as for the
|
2000-08-10 13:23:38 +08:00
|
|
|
{{slapadd}}(1) program. slapindex rebuilds all indices based
|
2000-08-08 10:17:25 +08:00
|
|
|
upon the current database contents.
|
1999-04-24 07:00:44 +08:00
|
|
|
|
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
H3: The {{EX:slapcat}} program
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-08-30 02:56:29 +08:00
|
|
|
The {{EX:slapcat}} program is used to dump the database to a {{TERM:LDIF}}
|
2000-08-10 13:23:38 +08:00
|
|
|
file. This can be useful when you want to make a human-readable
|
2000-08-08 10:17:25 +08:00
|
|
|
backup of your database or for editing your database off-line.
|
|
|
|
The program is invoked like this:
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> slapcat -l <filename> -f <slapdconfigfile>
|
|
|
|
> [-d <debuglevel>] [-n <databasenumber>|-b <suffix>]
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-09-03 04:16:36 +08:00
|
|
|
where -n or -b is used to select the database in the {{slapd.conf}}(5)
|
2000-08-10 13:23:38 +08:00
|
|
|
specified using -f. The corresponding LDIF output is written to
|
2000-08-08 10:17:25 +08:00
|
|
|
standard output or to the file specified using the -l option.
|
1999-04-24 07:00:44 +08:00
|
|
|
|
|
|
|
|
2000-09-03 04:16:36 +08:00
|
|
|
!if 0
|
2000-08-10 13:23:38 +08:00
|
|
|
H3: The {{EX:ldif}} program
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
The {{ldif}}(1) program is used to convert arbitrary data values to
|
|
|
|
{{TERM:LDIF}} format. This can be useful when writing a program or
|
|
|
|
script to create the LDIF file you will feed into the {{slapadd}}(8)
|
2000-08-11 07:57:21 +08:00
|
|
|
or {{ldapadd}}(1) program, or when writing a SHELL backend. {{ldif}}(1)
|
|
|
|
takes an attribute descriptin as an argument and reads the attribute
|
1999-04-24 07:00:44 +08:00
|
|
|
value(s) from standard input. It produces the LDIF formatted
|
|
|
|
attribute line(s) on standard output. The usage is:
|
|
|
|
|
2000-08-11 07:57:21 +08:00
|
|
|
> ldif [-b] <attrdesc>
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-08-30 02:56:29 +08:00
|
|
|
where {{EX:<attrdesc>}} is an attribute description. Without the -b
|
|
|
|
option, ldif considers each line of standard input to be a separate
|
|
|
|
value of the attribute.
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-08-11 07:57:21 +08:00
|
|
|
> ldif description << EOF
|
|
|
|
> leading space
|
|
|
|
> # leading hash mark
|
|
|
|
> EOF
|
|
|
|
|
1999-04-24 07:00:44 +08:00
|
|
|
The -b option can be used to force ldif to interpret its input
|
|
|
|
as a single raw binary value. This option is useful when
|
2000-08-10 13:23:38 +08:00
|
|
|
converting binary data such as a {{EX:jpegPhoto}} or {{EX:audio}}
|
2000-08-11 07:57:21 +08:00
|
|
|
attribute. For example:
|
|
|
|
|
|
|
|
> ldif -b jpegPhoto < photo.jpeg
|
2000-09-03 04:16:36 +08:00
|
|
|
!endif
|
1999-04-24 07:00:44 +08:00
|
|
|
|
|
|
|
|
|
|
|
H2: The LDIF text entry format
|
|
|
|
|
2000-09-03 04:16:36 +08:00
|
|
|
The {{TERM[expand]LDIF}} (LDIF) is used to represent LDAP
|
|
|
|
entries in a simple text format. This section provides a brief
|
|
|
|
description of the LDIF entry format which complements {{ldif}}(5)
|
|
|
|
and the technical specification {{REF:RFC2849}}.
|
|
|
|
|
|
|
|
The basic form of an entry is:
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> # comment
|
|
|
|
> dn: <distinguished name>
|
|
|
|
> <attrdesc>: <attrvalue>
|
|
|
|
> <attrdesc>: <attrvalue>
|
|
|
|
>
|
|
|
|
> ...
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
Lines starting with '{{EX:#}}' character are
|
|
|
|
comments. An attribute description may be a simple attribute
|
2000-08-11 07:57:21 +08:00
|
|
|
type like {{EX:cn}} or {{EX:objectClass}} or {{EX:1.2.3}} (an {{TERM:OID}}
|
2000-08-10 13:23:38 +08:00
|
|
|
associated with an attribute type) or may include options such
|
|
|
|
as {{EX:cn;lang_en_US}} or {{EX:userCertificate;binary}}.
|
1999-04-24 07:00:44 +08:00
|
|
|
|
|
|
|
A line may be continued by starting the next line with a
|
2000-08-11 07:57:21 +08:00
|
|
|
{{single}} space or tab character. For example:
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> dn: cn=Barbara J Jensen, dc=example, dc=
|
|
|
|
> com
|
|
|
|
> cn: Barbara J
|
|
|
|
> Jensen
|
|
|
|
|
2000-08-11 07:57:21 +08:00
|
|
|
is equivalent to:
|
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> dn: cn=Barbara J Jensen, dc=example, dc=com
|
|
|
|
> cn: Barbara J Jensen
|
1999-04-24 07:00:44 +08:00
|
|
|
|
|
|
|
Multiple attribute values are specified on separate lines. e.g.,
|
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> cn: Barbara J Jensen
|
|
|
|
> cn: Babs Jensen
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-09-03 04:16:36 +08:00
|
|
|
If an {{EX:<attrvalue>}} contains non-printing characters or begins
|
|
|
|
with a space, a colon ('{{EX::}}'), or a less than ('{{EX:<}}'),
|
|
|
|
the {{EX:<attrdesc>}} is followed by a double colon and the base64
|
|
|
|
encoding of the value.
|
|
|
|
For example, the value "{{EX: begins with a space}}" would be
|
1999-04-24 07:00:44 +08:00
|
|
|
encoded like this:
|
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> cn:: IGJlZ2lucyB3aXRoIGEgc3BhY2U=
|
1999-04-24 07:00:44 +08:00
|
|
|
|
2000-09-03 04:16:36 +08:00
|
|
|
You can also specify a {{TERM:URL}} containing the attribute value.
|
|
|
|
For example, the following specifies the {{EX:jpegPhoto}} value
|
|
|
|
should be obtained from the file {{F:/path/to/file.jpeg}}.
|
|
|
|
|
|
|
|
> cn:< file://path/to/file.jpeg
|
|
|
|
|
1999-04-24 07:00:44 +08:00
|
|
|
Multiple entries within the same LDIF file are separated by
|
|
|
|
blank lines. Here's an example of an LDIF file containing
|
|
|
|
three entries.
|
|
|
|
|
2000-08-10 13:23:38 +08:00
|
|
|
> # First Entry
|
|
|
|
> dn: cn=Barbara J Jensen, dc=example, dc=com
|
|
|
|
> cn: Barbara J Jensen
|
|
|
|
> cn: Babs Jensen
|
2000-09-03 04:16:36 +08:00
|
|
|
> objectClass: person
|
2000-08-10 13:23:38 +08:00
|
|
|
> sn: Jensen
|
|
|
|
>
|
|
|
|
> # Second Entry
|
|
|
|
> dn: cn=Bjorn J Jensen, dc=example, dc=com
|
|
|
|
> cn: Bjorn J Jensen
|
|
|
|
> cn: Bjorn Jensen
|
2000-09-03 04:16:36 +08:00
|
|
|
> objectClass: person
|
2000-08-10 13:23:38 +08:00
|
|
|
> sn: Jensen
|
2000-09-03 04:16:36 +08:00
|
|
|
> # Base64 encoded JPEG photo
|
|
|
|
> jpegPhoto:: /9j/4AAQSkZJRgABAAAAAQABAAD/2wBDABALD
|
|
|
|
> A4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQ
|
|
|
|
> ERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVG
|
2000-08-10 13:23:38 +08:00
|
|
|
>
|
|
|
|
> # Third Entry
|
|
|
|
> dn: cn=Jennifer J Jensen, dc=example, dc=com
|
|
|
|
> cn: Jennifer J Jensen
|
|
|
|
> cn: Jennifer Jensen
|
2000-09-03 04:16:36 +08:00
|
|
|
> objectClass: person
|
2000-08-10 13:23:38 +08:00
|
|
|
> sn: Jensen
|
2000-09-03 04:16:36 +08:00
|
|
|
> # JPEG photo from file
|
|
|
|
> jpegPhoto:< file://path/to/file.jpeg
|
2000-08-10 13:23:38 +08:00
|
|
|
|
2000-09-03 04:16:36 +08:00
|
|
|
Notice that the {{EX:jpegPhoto}} in Bjorn's entry is base 64 encoded
|
|
|
|
and the {{EX:jpegPhoto}} in Jennifer's entry is obtained from the
|
|
|
|
location indicated by the URL.
|
1999-04-24 07:00:44 +08:00
|
|
|
|
|
|
|
Note: Trailing spaces are not trimmed from values in an
|
|
|
|
LDIF file. Nor are multiple internal spaces compressed. If
|
|
|
|
you don't want them in your data, don't put them there.
|
|
|
|
|