Ändra LDAP-poster med kommandot ldapmodify

Nyligen har jag gjort ett antal artiklar som täcker LDAP (Lightweight Directory Access Protocol), som sträcker sig från installation, lägg till poster till fullständiga GUI-hanteringsverktyg (se LDAP-innehåll i Ghacks för mer information). Om du är i mörkret är LDAP ett applikationsprotokoll som gör det möjligt att fråga och ändra data för katalogtjänster implementerade i IP-nätverk. I grund och botten är det en komplex, stor, katalog med information av olika former som kan användas för många, olika implementeringar (företagets adressböcker, applikationsautentisering osv.).

När LDAP är installerat har du till hands många verktyg för att lägga till, redigera och radera data på den servern. Ett av dessa verktyg är avgörande för att hålla data uppdaterade. Det verktyget är ldapmodify. I den här artikeln ska jag visa dig hur du använder det här verktyget för att ändra en post i en LDAP-server.

Grunderna i kommandot

Kommandot ldapmodify är inte precis som alla andra kommandon. Istället för att bara köra ett enda kommando och göra det, utfärdar du kommandot, arbetar du och slipper sedan ur kommandot. Den faktiska modifieringen av data sker inte förrän du undviker kommandot. Sekvensen går så här:

  1. Ge kommandot ldapmodify (med lämpliga alternativ).
  2. Informera ldapmodify vad du modifierar.
  3. Ändra dina uppgifter.
  4. Fly med CTRL-d.
  5. ldapmodify gör ändringarna.

Ja, det verkar som en ganska komplex process ... och ja, det är en komplex, men en mycket nödvändig process.

Låt oss ta en titt på själva processen. Som ett exempel kommer jag att ändra gecos-posten för en redan befintlig katalogpost. Posten gecos är ett allmänt informationsfält som kan användas för nästan vad som helst). Låt oss ha lite kul och ändra gecos-posten för användarscooper och indikera att Sheldon Cooper är en teoretisk fysiker vid Caltech University. Vi antar att gecos-posten bara innehåller informationen 'Sheldon Cooper' och LDAP-servern är den 192.168.1.10 och hela dc är wallen.local. Här är själva processen för den här uppgiften:

Ge kommandot:

ldapmodify -h localhost -x -W -D 'cn = admin, dc = wallen, dc = local'

Det verkar nu som om kommandot är fastnat. Det är faktiskt bara att vänta på input. Ingången ser ut så här (tryck på Enter efter varje rad):

dn: uid = scooper, ou = People, dc = wallen, dc = local
changetype: modify
ersätt: gecos
gecos: Teoretisk fysiker, Caltech University

När du har skrivit in den här texten, tryck på Enter och tryck sedan på CTRL-d för att undkomma kommandot och då ska du se något som:

modifiera posten 'uid = scooper, ou = People, dc = wallen, dc = local'

Om du nu utfärdar ldapsearch-kommandot ser du ändringarna. Ldapsearch-kommandot ser ut som:

ldapsearch -x -b 'dc = wallen, dc = local' -s sub 'objectclass = *'

Du bör se Sheldons notering så här:

# scooper, People, wallen.local
dn: uid = scooper, ou = People, dc = wallen, dc = local
uid: scooper
cn: Sheldon Cooper
objectClass: konto
objectClass: posixAccount
objectClass: top
loginShell: / bin / bash
uidNummer: 500
gidNummer: 120
homeDirectory: / home / scooper
gecos: Teoretisk fysiker Caltech University

Du har nu ändrat posten. Naturligtvis är du inte begränsad till posten i gecos. Du kan faktiskt ändra alla poster du vill använda med samma teknik.

Slutgiltiga tankar

Förhoppningsvis blir LDAP enklare och enklare för dig. Du kan nu lägga till och ändra poster. Vi kommer att fortsätta gräva och så småningom kommer du att behärska LDAP-grunderna.