Difference between revisions of "Accounts"

From A-Eskwiki
Jump to: navigation, search
m (Enablen/disablen)
m (Account expiry)
Line 81: Line 81:
 
Alle accounts van ''mortals'' en ''gods'' worden doorlopen. Commissies verlopen niet (maar wachtwoorden van commissieaccounts wel, zie verderop).
 
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 lastLogin-informatie in LDAP.  Er zijn attributen voor `lastPasswordLogin`, `lastMailLogin` en `lastKeyLogin`. Op dit moment (aug '12) wordt alleen de eerste geupdate. PAM doet dit (`/etc/pam.d` op de [[Computerpark|workstations]] en op [[square]]).
+
Als iemand te lang niet heeft ingelogd wordt het account gedisabled. Dit wordt bepaald aan de hand van lastLogin-informatie in LDAP.  Er zijn attributen voor `lastPasswordLogin`, `lastMailLogin` en `lastKeyLogin`. Op dit moment (aug '12) wordt alleen de eerste geupdate. 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`).
 
Let op dat commissieaccounts nog wel handmatig opgeruimd moeten worden (met behulp van `ciedel` vanuit `ac`).

Revision as of 21:40, 20 September 2012

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

Algemeen

Groups

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`.

User management

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

User info wordt opgeslagen in LDAP. Hierin staat informatie zoals het laatste inlogmoment van het account. De volgende dingen worden nog wel 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

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/verwijderen

Het aanmaken en verwijderen 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 openbaar 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. Net als enabled 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 `!` 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 lastLogin-informatie in LDAP. Er zijn attributen voor `lastPasswordLogin`, `lastMailLogin` en `lastKeyLogin`. Op dit moment (aug '12) wordt alleen de eerste geupdate. 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.