Accounts

From A-Eskwiki
Revision as of 21:27, 19 November 2012 by Lennaert (Talk | contribs)

Jump to: navigation, search

Hier worden het accountbeleid en -management van Sysop bij A–Eskwadraat beschreven.

Algemeen

Groepen

Accounts zijn verdeeld in een aantal groepen (groups):

  • iba: IBA-commissies die extra computerrechten hebben: sysop, www en hektex.
  • gods: mensjes met extra rechten (omdat ze in iba zitten/gezeten hebben).
  • square: mensjes/iba-commissies die op square in kunnen loggen (omdat ze dat nodig hebben voor hun commissiewerk).
  • bestuur: bestuurs(functie)accounts.
  • cies: commissies.
  • mortals: gewone gebruikers.
  • extern: externe organisaties, verenigingen, groepen, enz. Ook voor bijzondere accounts zoals webcie-test-account.

Alle andere groepen zijn systeemgroepen.

De homedirectories zijn ingedeeld per categorie. Elke categorie bestrijkt een of meer groepen:

  • /home/bestuur: bestuur.
  • /home/cies: cies.
  • /home/extern: extern.
  • /home/mensjes: gods en mortals.
  • /home/system: alle systeemgroepen.

Groeplidmaatschappen worden beheerd in LDAP. De primary group van een account staat in het veld gidNumber. Users in andere groepen zetten kan door die user toe te voegen aan het veld memberUid van entry cn=$groepnaam,ou=system,ou=groups,dc=a-eskwadraat,dc=nl.

Gebruikersbeheer

Vrijwel alle gebruikersbeheer (password resetten, aanmaken, account enablen/disabled, enz) kan met het script ac. Dit maakt weer gebruik van cieadd en ciedel voor het aanmaken respectievelijk verwijderen van accounts (zie onder).

Gebruikersinformatie wordt opgeslagen in LDAP. Hierin staat informatie zoals de naam, het wachtwoord en het laatste inlogmoment van het account. De volgende dingen worden ook in /etc/{passwd,shadow} opgeslagen:

  • /etc/passwd:
login,UID,GID,fullname,homedir,shell
  • /etc/shadow:
login,encrypted passwd,passwd last change

De overige velden van /etc/shadow worden zo gezet dat ze niet gebruikt worden (bijv. account expire op 99999, enz.).

Let op: voor niet-systeemaccounts is LDAP tegenwoordig leidend. De informatie over A–Eskwadraataccounts in /etc/passwd wordt regelmatig bijgewerkt vanuit LDAP, en staat daar voor het geval LDAP de geest geeft.

Quota

Hoofdartikel: Quota

Quota worden automatisch aangemaakt met behulp van quotaset. Zie dat script, en de configuratiefile /etc/local/quotas voor meer info; daar dienen quota aangepast te worden (en niet op de gebruikelijke Linux-manier). Tweemaal per dag wordt quotamail gedraaid, die mensen waarschuwt als ze over hun quotum zitten. Met ac kan de graceperiode gereset worden.

Accounts aanmaken

Het aanmaken van accounts gebeurt altijd door Sysop. Actieve leden kunnen altijd een account krijgen; commissies krijgen vanzelfsprekend een account. Niet-actieve leden en niet-leden krijgen in principe geen account, omdat de werkplekken bedoeld zijn voor A–Eskwadraatwerk en er dingen openbaar op het systeem staan die alleen bedoeld zijn voor leden.

Accounts (ook persoonlijke accounts) worden aangemaakt met ac. In dat script worden onder andere automatisch ssh-keys gegenereerd en voor commissies wordt de ssh-key van het bestuur in de authorized_keys gezet. Verder krijgt de eigenaar van een persoonlijk account de kans om een wachtwoord in te stellen en wordt zijn of haar lidnummer opgeslagen.

Naamgeving

Mensjes
De voornaam van de persoon achter elkaar in kleine letters. Indien deze al bestaat, voeg dan letters van het begin van de achternaam tot er een uniek login ontstaat. In principe wordt er niet van deze standaard afgeweken. Lijkt dit nodig, overleg dan eerst met de rest van Sysop.
Doorlopende commissies
De naam van de commissie achter elkaar in kleine letters.
Jaarlijkse commissies
De naam van de commissie, gevolgd door een van:
  • het collegejaar waarin de commissie actief is (onder andere voor adviesraad, ec, gala, kb, studiereis, toneel, wintersport);
  • het kalenderjaar waarin de commissie actief is (onder andere voor alma, intro, masterintro en grotere, losse commissies zoals limo en pion).

Enablen/disablen

Zie ook: Archiveren

Het enablen en disablen van accounts gebeurt via ac. Bij disablen wordt de login shell veranderd in bash-disabled en wordt het wachtwoord van het account verwijderd. Bij enablen wordt de shell weer op bash gezet, maar er wordt niet automatisch een nieuw wachtwoord ingesteld. Het is niet mogelijk om bijvoorbeeld su, VPN of imap te gebruiken op een account zonder wachtwoord.

Bestuur- en cieaccounts dienen als ze definitef worden opgeruimd niet te worden gedisabled, maar te worden gearchiveerd en verwijderd. Het beleid voor het archiveren van deze accounts is als volgt:

  • Accounts van grote commissies (alma, intro, reis en grotere eenmalige activiteiten) worden na drie jaar gearchiveerd en verwijderd.
  • Accounts van overige commissies worden na twee jaar gearchiveerd en verwijderd.

Net als enablen en disablen kan dit in een keer met ac. Gearchiveerde bestanden komen in /archief terecht. Wanneer een account wordt verwijderd wordt er ook automatisch een mailtje naar Sysop, het bestuur en de desbetreffende account gestuurd. Merk op dat hierna e-mailforwards naar het account niet meer werken. Wordt er om welke reden dan ook een bestuur- of cieaccount gedisabled maar niet verwijderd, dient het bestuur hiervan op de hoogte gesteld te worden.

Let op! De normale manier waarop Debian een account disablet is door een uitroepteken ! voor het wachtwoord te zetten. Dit is echter niet compatibel met LDAP, gezien dat daar geïnterpreteerd wordt als een cleartext wachtwoord. Daarom verwijderen wij wachtwoorden als een account gedisabled wordt.

Expiry

Er expiren twee dingen onafhankelijk van elkaar: accounts en wachtwoorden. Beide worden dagelijks geregeld door ac-expire.

Account expiry

We gebruiken niet de shadow manier van expiren, want die werkt niet erg flexibel, en fouten zijn veel te makkelijk gemaakt. Bovendien is het nogal onzin om als je dagelijks een account gebruikt elk jaar te moeten aangeven dat je hem gebruikt.

Alle accounts van mortals en gods worden doorlopen. Commissies verlopen niet (maar wachtwoorden van commissieaccounts wel, zie verderop).

Als iemand te lang niet heeft ingelogd wordt het account gedisabled. Dit wordt bepaald aan de hand van een aantal velden in LDAP. Er zijn attributen voor lastPasswordLogin, lastMailLogin en lastKeyLogin. Op dit moment (aug '12) wordt alleen de eerste geüpdated. PAM doet dit (/etc/pam.d op de workstations en op square).

Let op dat commissieaccounts nog wel handmatig opgeruimd moeten worden (met behulp van ciedel vanuit ac).

Password expiry

Password dienen na een poosje te verlopen. In het LDAP-veld shadowLastChange staat altijd wanneer een wachtwoord voor het laatst gewijzigd is. Dit wachtwoord is geldig tot shadowLastChange+shadowMax. Daarna wordt het wachtwoord verwijderd. Gebruikers krijgen waarschuwingsmails wanneer dit moment in de buurt komt.

Na zelf het wachtwoord te wijzigen mag het wachtwoord shadowMin dagen niet opnieuw veranderd worden, om terugveranderen te voorkomen. Wanneer wij het wachtwoord resetten wordt shadowMin ingesteld op 0, want dan willen we juist dat het veranderd wordt.

shadowMax, shadowMin en shadowExpire zijn attributen per gebruiker. Ze worden door ac-expire uniform gehouden. De gewenste waarden staan in /etc/local/ac-vars.

UID's die laag zijn mogen nooit last krijgen van verlopen wachtwoorden.

Printjes

Printjes worden bijgehouden vanuit de cups logfiles. De aantallen worden maandelijks via een cronjob naar het bestuur gemaild voor facturering. De aantallen (voor simplex/duplex) zijn echter niet geheel betrouwbaar.