Göm menyn

TDDI41 Grundläggande systemadministration

Eventuell changelog finns längst ned på sidan

OBS! Som alltid, följ de allmänna instruktionerna kring inlämning, och kopiera in vad ni gjorde och utdata. Se exempel på sidan.

Om laborationen

Denna laboration infördes 2023, och kan komma att få marginella uppdateringar. Isåfall markerar vi detta. Om ni har tankar eller synpunkter (eller ser frågor som uppstått!), skriv gärna ned dem och tala med din labbass.

Katalogtjänster

Katalogtjänster ger systemadministratörer ett sätt att lagra viktig information på ett centraliserat ställe, istället för att ha informationen utspridd. Detta ger färre ställen att undersöka, och färre källor till information som behöver hållas uppdaterade (till exempel kring vem som har vilka behörigheter i ett system). Idealiskt gör det kontroll och uppdatering av information enklare och snabbare, kan underlätta vid återställning av system, och kan bidra till ökad säkerhet. Målsättningen (som inte alltid infrias!) är att minska komplexitet.

I teorin kan man lagra vilken information som helst i en katalogtjänst. Det finns dock vissa typexempel, som hantering av användarkonton (med tillhörande data), eller hantering av information om datorer i stora miljöer.

LDAP är ett protokoll för hur man kommunicerar med en sådan katalogtjänst, och hur informationen ska struktureras och presenteras. LDAP-server är något som tillhandahåller en sådan tjänst. I labbserien kommer vi att använda OpenLDAP/slapd för användarautentisering och (i labb 9) för konfiguration kring automontering av användarnas hemkataloger. I andra miljöer kan man se LDAP-kommunikation med till exempel Microsoft Active Directory.

Om man läser på om LDAP märker man att saker kan bli ganska komplicerade, och att man kan göra många saker. Vi kommer att hålla oss till de mest grundläggande funktionerna.

Förberedelser

Övning 1

Läs på om LDAP och besvara nedanstående frågor. Här är några länkar vi rekommenderar:

Den nyfikne kan även läsa standarddokumenten som ligger till grund för själva protokollet (som olika mjukvaror kanske eller kanske inte implementerar korrekt). De RFC-dokumenten (Request For Comment) finns länkade ovan. Vi rekommenderar att man börjar läsa åtminstone Ubuntu-guiden först. Delar av standarddokumenten kan dock vara väldigt bra för att hjälpa till att förstå de olika frågorna.

  • Vad betyder DIT och hur fungerar det?
  • Vad betyder förkortningarna dn och dc och hur används de?
  • Vad är ett attribute?
  • Vad är en "object class"?
  • Vad är det för skillnad mellan en "structural-" och en "auxiliary object class?

Huvuduppgift

Övning 1 - Installera och konfiguerera OpenLDAP

Följande länkar visar hur man kan installera och konfiguerera OpenLDAP:

OBS: Det är inte nödvändigt att autentisera med SASL. Simple authentication är helt OK i denna labbserie (men reflektera gärna över problematiken härikring)!

På er server:

  • Installera paketen slapd och ldap-utils.
  • Konfigurera er LDAP-katalog med det "Base DN" ni vill ha.
På era klienter:
  • Installera paketen libnss-ldapd, libpam-ldapd, ldap-utils.
  • Verifiera att ni kan nå er LDAP server genom exempelvis kommandot ldapsearch
  • När ni installerade paketen ovan installerades och konfigurerades tjänsten nslcd. Bekräfta att den är igång och kommer att starta efter systemomstart. Hitta dess huvud-konfigurationsfil och undersök vilka inställningar som finns där.

Övning 2 - Att lägga till en användare med hjälp av en .ldif-fil

Nu ska vi skapa en användare i LDAP-katalogen och logga in på användarkonton på klienterna. Föregående länkar visar hur man kan göra detta.

På er server:

  • Skapa en organizational unit för era användare med hjälp av .ldif-fil.
  • Lägg till en användare med hjälp av .ldif-fil. Använd objektklass posixAccount tillsammans med någon relevant structural objectklass.
  • Verifiera att du kan hitta användaren med ldapsearch
På era klienter:
  • Verifiera att ni kan hitta den nya användaren genom kommandot getent (Förutsätter att /etc/nsswitch.conf är korrekt konfigurerad).
  • Logga in som användaren.

Övning 3 - Att lägga till en användare med hjälp av ldapscripts

ldapscripts är ett verktyg som gör det smidigt att hantera användare. Ett lästips är Ubuntu - How to set up LDAP users and groups.

På er server:

  • Installera och konfigurera ldapscripts.
    Tips: felmeddelandena som skrivs ut i terminalen är inte alltid de bästa. Läs loggarna! Det finns en lämplig fil under /var/log!
  • Skapa en användare lokalt
  • Lägg till användaren i LDAP-katalogen och sätt användarens lösenord, till exempel med hjälp av ldapscripts. Användaren ska ha samma uid i LDAP-katalogen som lokalt (i /etc/passwd)
På era klienter:
  • Logga in som användaren.

Övning 4 - Att lägga till många användare med hjälp av ldapscripts

På er server:

  • Modifiera ert användarskript så att användarna också läggs till i LDAP-katalogen.

Redovisning

Skriv tester som verifierar följande:

  • Att relevanta tjänster är startade.
  • Att Name Service Switch är korrekt konfigurerad.
  • Att klienterna kan göra en slagning i LDAP-katalogen.

Demonstrera för en labbassistent genom att visa samt köra testerna och användarskriptet.

Inlämning: Svar på de inledande frågorna, testerna samt en text som beskriver hur ni genomförde uppgifterna. Som vanligt vill vi ha konkret information från era system - vad körde ni, vad hände/fick ni ut för utskrifter!

Changelog innevarande termin

  • 241107: Lade till understrykande av att de allmänna instruktionerna ska följas.
  • 241212: Lade till fråga om nslcd. Har du börjat på labben innan detta, behöver du inte besvara frågan. Den ger vägledning om du behöver omkonfigurera LDAP på klienterna, eller verifiera inställningar.
  • 241212: Lade till uid-förtydligande, och poängterade att lösenordsändring med hjälp av ldapscripts är en möjlighet.


Sidansvarig: Anders Fröberg
Senast uppdaterad: 2024-12-12