Utvidelse av MDB2 for å styre Unix/Samba/Kerberos-brukere og Unix-grupper

Historisk note

Dette dokumentet ble uttenkt og skrevet av fornuftige mennesker. Noen andre mennesker leste det men stunt-implementerte og stunt-innførte MedlemsDB2Unix uten å strengt følge kravspecen her. Den har fortsatt masse nyttig å tilføye.

Innhold

Denne spesifikasjonen ønskes gjennomført innen semesterstart vår 2007, grunnet opptak av store mengder UKEfunker utover våren.

Problemstilling

Det er ønskelig å kunne flytte administrasjon av brukere og gruppetilhørighet for Unix/Samba/Kerberos-kontoer inn i medlemsdatabasen.

Målene man ønsker å oppnå i første runde er:

Videre utvidelser som følger på løpende bånd:

Videre utvidelser som er ønskelig litt etterhvert:

Innlegging må fortsatt skje manuelt all den tid ITK ønsker å ha kontroll på hvilke brukernavn folk får. Man ønsker også at gruppetilhørighet speiles av organisasjonsstrukturen til Samfundet.

Use case

  1. Per Person blir medlem av Samfundet.
  2. Per registrerer medlemskapet sitt på medlem.samfundet.no, og kan siden logge inn med kortnummer/epostadresse og passord som alle andre medlemmer.
  3. Per blir tatt opp i VPK og blir således aktiv på Huset.
  4. Gjengsjefen i VPK legger til Per i MDB2 som aktiv i VPK og registrerer et ID-kort til Per.
  5. Ettersom Per ikke har en PIN-kode i MDB2 fra før av får Per automagisk en epost. Denne forteller om hva han må sørge for for å få dørtilgang på Huset: gyldig oblat og PIN-kode. I tillegg forteller eposten at Per kan få en "Samfundet-bruker" som gir tilgang til en rekke IT-systemer på Huset dersom han møter opp hos ITK med ID-kortet sitt.
  6. Per vil traske på traske.samfundet.no, så han tar turen innom ITK i Fjerde. Der viser han ID-kort og forteller hva brukernavnet hans på NTNU/HiST/e.l. er og får opprettet en "Samfundet-bruker" og setter passordet i samme slengen. Dette passordet erstatter passordet han allerede har registrert på medlem.samfundet.no.
  7. Automagisk får Per nok en velkomstepost. Denne gangen fortelles det om alle de nye tjenestene han har tilgang til: epost, webmail, hjemmeområde, fellesområder, traske, Samfundets Wiki, osv.
  8. Samme kveld er Per på Hyblene og drikker litt for mye, så han glemmer passordet sitt.
  9. Neste "morgen" stikker Per innom KK, viser ID-kortet sitt og får tilsendt en epost som gir han engangsmulighet til å sette nytt passord for alle tjenestene på medlem.samfundet.no.
  10. Seks måneder senere synes Per det er på tide å bytte passord. Han går til medlem.samfundet.no, logger inn med kortnummer/epostadresse/brukernavn og passordet sitt, og setter et nytt passord. 15 minutter senere er alle passordene hans byttet og han er på ny klar for Hyblene.
  11. Tre år senere flytter Per fra byen og slutter å fornye medlemskapet sitt. Varsel om sletting av bruker sendes (med påminnelse hyppigere jo nærmere slettedato en kommer) og brukeren slettes etter N måneder.

Policy

Krav for å ha konto

Se brukerpolicy.

Oppretting av konto

Vi vil ikke at gjengsjef bestemmer brukernavn for å opprettholde saklighet og mapping mot brukernavn på NTNU/HiST/o.l. Man har derfor fortsatt en situasjon hvor medlemmet må møte opp hos ITK og oppgi brukernavnet sitt på utdanningsinstitusjon og sette passord.

Ved setting av passord

Når en setter passord med webgrensesnittet eller med "itkadduser2" gjøres følgende:

Privatdelen av GPG-nøkkelen finnes på én boks, type "sikkert".

Når en bruker selv skal endre passord må det gamle passordet sendes med i forespørslen i køen slik at cron-systemet kan sjekke at passordet stemmer, uavhengig av webgrensesnittet.

Fjerning av konto

Kontoer vil gå ut så fort folk forlater byen og slutter å betale medlemsavgift. Pangsjonister som ikke bor i byen, men som likevel ønsker å støtte Samfundet ved å betale avgiften får lov til å beholde kontoen.

Når ett av vilkårene ikke oppfylles varsles personen på registrert epostadresse og samfundet.no-epostadresse (dersom ikke samme) om at kontoen slettes om N måneder, forteller hvilke vilkår som ikke er oppfylt, at filer relatert til gjengen burde flyttes til fellesområder og at viktige personlige filer må reddes. Påminnelse sendes med økende hyppighet frem til slettetidspunktet.

Teknisk implementasjon

Endringer i MDB2: konto

Utvidelse av tabellen medlem:

Endringer i MDB2: passord

Det foreslås opprettet to ny tabeller i MDB2 for lagring av de forskjellige krypteringene:

passordtype:

passord:

Tilgang til passordtabellen begrenses til færrest mulig databasebrukere, typisk ikke webbrukere. Webbrukeren til medlem.samfundet.no får kun rettigheter til UPDATE/INSERT på passord-tabellen.

En vil også flytte dagens MD5-hash over til passordtabellen. En må bare sørge for å oppdatere diverse kode (MDB2, wlan.s.n, osv.) og teste at alt av avhengende systemer funker etterpå.

Endringer i MDB2: grupper

Grupper i databasen (MDB2) får attributtene:

MDB2 får tildelt en egen gid range (10000-) som den selv holder styr på (finne neste ledige osv.).

Endringer i MDB2-web

En ønsker grensesnitt for:

Mulighet for å bytte glemt passord via epost og engangs-URL deaktiveres for medlemmer med "Samfundet-bruker". De må til KK eller ITK for å sette nytt passord.

Import

For import fra eksisterende /etc/passwd må man lage noen stygge hack som matcher fornavn/etternavn og ser på antall krasj. Her blir det nok også litt manuell fiksing, men det er en engangsjobb. Vi ønsker å godkjenne alle mappinger mellom medlem og bruker manuelt.

Brukere kontrollert av MDB2 ønskes plassert på UID 10000 og oppover. Vi ønsker sannsynligvis å reassigne UID til alle brukere (etter endt mapping med MDB2?).

Eksport

Eksportering gjøres av script som kjører fra cron (eller daemon):

Implementasjonsplan

TODO: Fordele arbeidsoppgaver.

Utvikling av MDB2

Databasen:

Omtrent først må databasen endres. Epost-/webendringer er forholdsvis parallelliserbart og avhenger ikke veldig mye av hverandre, men mesteparten avhenger av databasen.

Epostvarsling:

  1. Utsending av info-epost når en får et verv og et ID-kort. Se use case punkt 5. Ingen avhengigheter, ikke engang DB, sett i gang!
  2. Utsending av info-epost når en får konto. Se use case punkt 7. Avhenger av punkt over (pga kodegjenbruk) og endret database.

Webgrensesnitt:

Utvikling av og jobbing med andre systemer

Få avhengigheter. Parallelliser!

Lenker: Start, medlemsdb2, medlemsdb2unix

Epost: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2007-06-08 20:34 | Revisjon: 38 (historie, blame) | Totalt: 1880 kB | Rediger