Installasjon av OpenLDAP
Note
Hvis du bare trenger å installere klientsiden ldap* binærfiler, tilsvarende
manualsider, biblioteker og deklarasjonsfiler (referert til som
en “bare
klient” installering), kjør disse kommandoene i
stedet for de følgende (ingen testpakke tilgjengelig):
patch -Np1 -i ../openldap-2.6.8-consolidated-1.patch &&
autoconf &&
./configure --prefix=/usr \
--sysconfdir=/etc \
--disable-static \
--enable-dynamic \
--disable-debug \
--disable-slapd &&
make depend &&
make
Deretter, som root
bruker:
make install
Det bør være en dedikert bruker og gruppe til å ta kontroll over
slapd nissen etter at
den er startet. Utfør følgende kommandoer som root
bruker:
groupadd -g 83 ldap &&
useradd -c "OpenLDAP Daemon Owner" \
-d /var/lib/openldap -u 83 \
-g ldap -s /bin/false ldap
Installer OpenLDAP ved å kjøre
følgende kommandoer:
patch -Np1 -i ../openldap-2.6.8-consolidated-1.patch &&
autoconf &&
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--libexecdir=/usr/lib \
--disable-static \
--disable-debug \
--with-tls=openssl \
--with-cyrus-sasl \
--without-systemd \
--enable-dynamic \
--enable-crypt \
--enable-spasswd \
--enable-slapd \
--enable-modules \
--enable-rlookups \
--enable-backends=mod \
--disable-sql \
--disable-wt \
--enable-overlays=mod &&
make depend &&
make
Testene er skjøre, og feil kan føre til at testene avbrytes før
ferdigstillelse. Noen feil kan oppstå på grunn av tidsproblemer.
Testene tar rundt en time, og tiden er CPU uavhengig pga
forsinkelser i testene. På de fleste systemer vil testene kjøre opp
til test065-proxyauth for mdb
testen.
For å teste resultatene, kjør: make
test.
Nå, som root
bruker:
make install &&
sed -e "s/\.la/.so/" -i /etc/openldap/slapd.{conf,ldif}{,.default} &&
install -v -dm700 -o ldap -g ldap /var/lib/openldap &&
install -v -dm700 -o ldap -g ldap /etc/openldap/slapd.d &&
chmod -v 640 /etc/openldap/slapd.{conf,ldif} &&
chown -v root:ldap /etc/openldap/slapd.{conf,ldif} &&
install -v -dm755 /usr/share/doc/openldap-2.6.8 &&
cp -vfr doc/{drafts,rfc,guide} \
/usr/share/doc/openldap-2.6.8
Parameterforklaringer
--disable-static
: Denne
bryteren forhindrer installasjon av statiske versjoner av
bibliotekene.
--disable-debug
: Denne
bryteren deaktiverer feilsøkingskoden i OpenLDAP.
--enable-dynamic
: Denne
bryteren tvinger OpenLDAP
biblioteker å være dynamisk koblet til de kjørbare programmene.
--enable-crypt
: Denne
bryteren gjør det mulig å bruke crypt(3) passord.
--enable-spasswd
: Denne
bryteren aktiverer SASL
passordbekreftelse.
--enable-modules
: Denne
bryteren aktiverer dynamisk modulstøtte.
--enable-rlookups
: Denne
bryteren aktiverer omvendt oppslag av klientvertsnavn.
--enable-backends
: Denne
bryteren aktiverer alle tilgjengelige bakstykker.
--enable-overlays
: Denne
bryteren aktiverer alle tilgjengelige overlegg.
--disable-sql
: Denne
bryteren eksplisitt deaktiverer SQL bakstykke. Utelat denne
bryteren hvis det er en SQL server installert og du skal bruke en
SQL bakstykke.
--disable-wt
: Denne
bryteren eksplisitt deaktiverer WiredTiger bakstykke. Utelat denne
bryteren hvis WiredTiger er installert og du skal bruke en
WiredTiger bakstykke.
--libexecdir=/usr/lib
:
Denne bryteren kontrollerer hvor /usr/lib/openldap
mappen er installert. Alt i den
mappen er et bibliotek, så det hører hjemme under /usr/lib
i stedet for /usr/libexec
.
--enable-slp
: Denne bryteren aktiverer
SLPv2 støtte. Bruk den hvis du har installert OpenSLP.
--disable-versioning
: Denne bryteren
deaktiverer symbolversjonering i OpenLDAP biblioteker. Standard er å ha
symbolversjonering. Merk at hvis du har bygde applikasjoner som
bruker denne pakken med symbolversjonering, og fjerner symbolene,
kan det hende at applikasjonene ikke kjører.
Note
Du kan kjøre ./configure
--help for å se om det er andre brytere du kan
sende til configure
kommandoen for å aktivere andre alternativer eller
avhengighetspakker.
install ...,
chown ..., og
chmod ...: Å ha slapd
konfigurasjonsfiler og ldap databaser i /var/lib/openldap lesbart
av alle er et SIKKERHETSPROBLEM, spesielt siden en fil lagrer
administratorpassord i REN TEKST. Det er derfor modus 640 og
root:ldap eierskap ble brukt. Eieren er root, så bare root kan
endre filen, og gruppen er ldap, slik at gruppen som eier slapd
nissen kan lese, men ikke endre filen i tilfelle et
sikkerhetsbrudd.
Konfigurere OpenLDAP
Konfigurasjonsfiler
-
For LDAP klient: /etc/openldap/ldap.conf
og ~/.ldaprc
-
For LDAP servere brukes to konfigurasjonsmekanismer:
konfigurasjonsfilen for eldre versjoner /etc/openldap/slapd.conf
og den anbefalte
slapd-config
systemet, ved hjelp av en LDIF database lagret i
/etc/openldap/slapd.d
.
Konfigurasjonsinformasjon
Konfigurering av slapd servere kan være
komplekse. Sikring av LDAP mappen, spesielt hvis du lagrer
ikke-offentlig data som passorddatabaser kan også være en
utfordrende oppgave. For å sette opp OpenLDAP, må du endre enten /etc/openldap/slapd.conf
filen (gammel metode),
eller /etc/openldap/slapd.ldif
filen og deretter bruke ldapadd for å opprette LDAP
konfigurasjonsdatabasen i /etc/openldap/slapd.d
(anbefalt av OpenLDAP
dokumentasjonen).
Warning
Instruksjonene ovenfor installerer en tom LDAP struktur og en
standard /etc/openldap/slapd.conf
fil, som er egnet for å teste bygget og andre pakker ved bruk
av LDAP. Ikke bruke dem på en produksjonsserver.
Ressurser for å hjelpe deg med emner som å velge en
mappekonfigurasjon, bakstykke og database definisjoner,
tilgangskontrollinnstillinger, kjøre som en annen bruker enn
root
og sette opp et chroot miljø inkluderer:
Systemd Enhet
For å automatisere oppstarten av LDAP serveren ved oppstart av
systemet, installer slapd.service
enheten inkludert i
blfs-systemd-units-20240801 pakken ved å
bruke følgende kommando:
make install-slapd
Note
Du må endre /etc/default/slapd
for å inkludere
parametrene som trengs for din spesifikke konfigurasjon. Se
slapd manside for
parameterinformasjon.
Teste Konfigurasjonen
Start LDAP serveren med systemctl:
systemctl start slapd
Bekreft tilgangen til LDAP serveren med følgende kommando:
ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts
Det forventede resultatet er:
# extended LDIF
#
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# requesting: namingContexts
#
#
dn:
namingContexts: dc=my-domain,dc=com
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1