Difference between revisions of "Accounts"

From A-Eskwiki
Jump to: navigation, search
m
(Naamgeving)
Line 69: Line 69:
 
== Naamgeving ==
 
== Naamgeving ==
  
* **Mensjes:**
+
; Mensjes:
In principe voornaam, evt. met een paar letters van achternaam om uniek te
+
: De voornaam van de persoon 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]].
maken. De login zoals bij de faculteit is een alternatief, gebruik echter
+
; Doorlopende commissies:
geen (student) nummer, omdat dat problemen geeft omdat het als UID
+
: De naam van de commissie achter elkaar in kleine letters
geinterpreteerd wordt. Nicknames zijn **ZEER** af te raden, omdat dan de
+
; Jaarlijkse commissies
eigenaar niet (meteen) duidelijk is. Als iemand dat toch per se wil, maak
+
: De naam van de commissie, gevolgd door een van:
bij voorkeur een mail-alias aan voor voornaam -> nickname en overleg eerst
+
:* het collegejaar waarin de commissie actief is (onder andere voor adviesraad, ec, gala, kb, studiereis, toneel, wintersport);
even met andere Sysoppers.
+
:* het kalenderjaar waarin de commissie actief is (onder andere voor alma, intro, masterintro en grotere, losse commissies zoals limo en pion).
  
* **Cies:**
+
== Account disablen/enablen ==
Korte, duidelijke naam. Voor jaarlijkse commissies, het collegejaar
+
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.
erachter zetten, bijv `ec0203` of `ouderdag0304`. Commissies die over
+
bestuursjaren heenlopen, maar wel een duidelijke datum voor hun activiteit
+
hebben (voorlopig alleen intro) kunnen met het volledige kalenderjaar
+
worden aangeduid (bijv `intro2003`).
+
k's zijn uit den boze (bijv `intro2k2`)!
+
  
## Account disablen/enablen
+
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`. Wanneer dit gebeurt 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.
  
Moet mogelijk zijn voor Sysop om dat snel even te doen, via het `ac` scriptje.
+
'''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.
Effectief houdt het in dat de shell van IETS veranderd wordt in IETS-disabled,
+
en vice versa. SSH laat geen mensen inloggen met een niet-bestaande shell.
+
Tegenwoordig (aug '12) verwijderen we bij disablen ook het wachtwoord, zodat ook
+
zaken als su, VPN en imap ontoegankelijk worden.
+
  
Als het om bestuur en/of cies accounts gaat, van deze actie **ALTIJD** het
+
== Expiry ==
bestuur cc'en. Ook als een account n.a.v. misbruik uitgeschakeld wordt, het
+
bestuur op de hoogte stellen.
+
  
Gevaar! Wat je ook doet, ga niet shadowlocken. Dat is de normale Debian-manier
+
Er expiren twee dingen onafhankelijk van elkaar: accounts en wachtwoorden. Beide worden dagelijks geregeld door `[[ac-expire]]`.
om een account te disablen door een `!` voor het wachtwoord te zetten. LDAP
+
snapt dit niet: die interpreteert de password-hash met een `!` ervoor als
+
cleartext password.
+
  
## Expiry
+
=== Account expiry ===
  
Er expiren twee dingen, vrij onafhankelijk van elkaar: accounts en wachtwoorden.
+
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.
Beide worden dagelijks geregeld door ac-expire.
+
  
### Accounts
+
Alle accounts van ''mortals'' en ''gods'' worden doorlopen. Commissies verlopen niet (maar wachtwoorden van commissieaccounts wel, zie verderop).
  
We gebruiken **niet** de shadow manier van expiren, want die werkt niet erg
+
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]]).
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 'm gebruikt...
+
  
Alle accounts van mortals en gods worden doorlopen. Commissies verlopen niet
+
Let op dat commissieaccounts nog wel handmatig opgeruimd moeten worden (met behulp van `ciedel` vanuit `ac`).
(maar wachtwoorden wel, zie verderop).
+
  
Als iemand te lang niet heeft ingelogd wordt het account gedisabled. Dit wordt
+
=== Password expiry ===
bepaald aan de hand van lastLogin-informatie in LDAP.  Er zijn attributen voor
+
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.
`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 accounts nog wel handmatig opgeruimd moeten worden (met behulp van
+
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.
`ciedel` vanuit `ac`).
+
  
### Passwords
+
`shadowMax`, `shadowMin` en `shadowExpire` zijn attributen per gebruiker. Ze worden door `ac-expire` uniform gehouden. De gewenste waarden staan in `/etc/local/ac-vars`.
 
+
Passwords worden crypt-hashed opgeslagen. Hierdoor is het maximum aantal tekens
+
8.
+
 
+
Password dienen na een poosje te verlopen. In LDAP (`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 mail 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` 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.
 
UID's die laag zijn mogen nooit last krijgen van verlopen wachtwoorden.
  
## Printjes
+
== Printjes ==
  
Printjes worden bijgehouden vanuit de cups logfiles. De aantallen worden
+
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.
maandelijks via een cronjob naar het bestuur gemaild voor facturering. De
+
aantallen (voor simplex/duplex) zijn echter niet geheel betrouwbaar!
+

Revision as of 21:15, 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

Moet altijd door Sysop gebeuren. Actieve leden kunnen altijd om een account vragen en er een krijgen. Commissies krijgen vanzelfsprekend een account. Niet-actieve leden kunnen in het algemeen ook een account krijgen, dit ter beoordeling van Sysop. Niet-leden krijgen in principe geen account, omdat de dingen die overal open staan alleen openbaar zijn voor leden.

Accounts (ook persoonlijke accounts) worden aangemaakt via `cieadd`, wat weer vanuit `ac` aan te roepen is. In dat script worden o.a. automatisch ssh-keys gegenereerd en voor commissies wordt de ssh-key van het bestuur in de authorized_keys gezet. Verder wordt een printje gemaakt voor de accounthouder met daarop relevante informatie zoals password, quota, e.d.

Persoonlijke accounts worden na een jaar inactiviteit automatisch verwijderd. Commissieaccounts kunnen verwijderd worden met `ciedel`, ook vanuit `ac` aan te roepen. Dit archiveert de account naar `/archief` (apart voor commissies en overig), stuurt een mail naar Sysop, account (en bestuur bij commissie-account) en ruimt alle files behorend bij het account op.

Naamgeving

Mensjes
De voornaam van de persoon 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).

Account disablen/enablen

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`. Wanneer dit gebeurt 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.