Brukerautentisering med LDAP

Denne guiden tar utgangspunkt i Debian Wheezy. Ting som blir gjort automatisk av Wheezy ved installasjon av pakker stemmer f.eks ikke nødvendigvis med hva Sqeueeze gjør.

apt-get install libpam-ldapd libnss-ldapd

Dette vil også dra inn alle dependencies som behøves.

URI

Du vil under installasjon bli spurt om URI for LDAP server(e). For TIHLDE sin del vil dette være:

ldaps://ldap1.tihlde.org/ ldaps://ldap2.tihlde.org/

LDAP search base

dc=tihlde,dc=org

LDAP tjenester

Deretter blir vi spurt om hvilke tjenester som skal ha LDAP oppslag. For TIHLDE sin del er dette:

  • group
  • passwd
  • shadow

Disse blir dermed automatisk lagt inn som siste kilde for oppslag.

/etc/nslcd.conf

Her må følgende direktiver redigeres:

  • binddn
  • bindpw
  • rootpwmoddn
  • rootpwmodpw

Disse er dn for oppslag, passord for oppslagsdn, dn for admin og passord for admindn. For TIHLDE er disse (med unntak av passord)

binddn cn=nss,dc=tihlde,dc=org
rootpwmoddn cn=admin,dc=tihlde,dc=org

For å gjøre endringene aktive må vi restarte nslcd tjenesten

service nslcd restart

Hjemmemapper

For at hjemmemapper skal blir opprettet når brukere logges inn første gang må vi legge til en endring i /etc/pam.d/common-account på siste linje:

session required  pam_mkhomedir.so skel=/etc/skel/ umask=0022

Du skal nå kunne logge inn med LDAP brukere.

Når vi nå har satt opp LDAP så har alle gyldige brukere i BaseDN tilgang til å logge inn. I mange tilfeller ønsker man bare å tillate enkelte brukere eller grupper å logge inn.

For tjenere som kun skal ha administrativ tilgang kan med fordel følgende legges til i bunnen av /etc/ssh/sshd_config

AllowGroups staff activex root backuppc

Spesielt for Balthazar

AllowGroups staff activex root backuppc b_org

Spesielt for Fantorangen

AllowGroups staff activex root backuppc sshusers

Restart ssh tjenesten

service ssh restart
  • Om du benytter try eller require for SSL, så vil man kunne se feilmeldinger som “no available LDAP server found: Server is unavailable: Resource temporarily unavailable” om det er noe galt med SSL oppsettet.
  • Tilsynelatende en bug i nslcd i Debian hvor det lett blir en stor mengde med spam i syslog.
  • Om brukeren har et annet shell enn /bin/bash som loginshell i LDAP dette være installert på serveren eller så får ikke bruker logge inn.
  • howto/ldap-login.txt
  • Last modified: 31/10/2014 19:25
  • by Thomas Juberg