wiki:SynUsers

Version 1 (modified by trac, 16 years ago) (diff)

--

LDAP backend

Alle Syn-3 gebruikers staan opgeslagen in de ldap database. Deze gebruikers hebben echter geen shell. Het is ook nog steeds mogelijk om gewoon shell users aan te maken met useradd. Dit staat los van elkaar.

Het hele systeem is echter wel aangepast, zodat pam en nsswitch ook ldap aware zijn.

LDAP basis gegevens

  • Base: dc=syn-3
  • Root DN: cn=Manager,dc=syn-3
  • Root wachtwoord: Lees deze file uit: /etc/webint/LDAP_MASTER_PASSWD
  • User DN: uid=username,ou=Users,dc=syn-3
  • Hostname: ldap-master en ldap-slave. Gebruik altijd deze hostnames want die worden door de SCC ingesteld in de /etc/hosts file.

LDAP beheer tools

Om users en groepen toe te voegen en te verwijderen kun je gebruik maken van de smbldap* commandos. Dit zijn versies die het gebruikers beheer op de juiste manier uitvoeren en ook rekening houden met samba. (en windows clients)

[Syn-3] root@darkstar.example.net /etc/postinst.d# smbldap
smbldap-groupadd   smbldap-groupmod   smbldap-passwd     smbldap-useradd    smbldap-userinfo   smbldap-usershow
smbldap-groupdel   smbldap-groupshow  smbldap-populate   smbldap-userdel    smbldap-usermod    smbldap_tools.pm

Sommige van deze commando's werken nogal onduidelijk en krikky!

Users

Met getent krijg je een overzicht van alle unix+ldap users:

[Syn-3] root@darkstar.example.net ~# getent passwd
root:x:0:0::/root:/bin/bash
bin:x:1:1:bin:/bin:
...
Administrator:x:0:512:Netbios Domain Administrator:/home/users/Administrator:/bin/false
mailadmin:x:500:512:System User:/home/mailadmin:/bin/bash
nobody:x:999:514:nobody:/dev/null:/bin/false
test:x:1002:513:System User:/home/users/test:/bin/bash
test2:x:1004:513:System User:/home/users/test2:/bin/bash

Deze geeft dus een combinatie van de users uit /etc/passwd en die uit ldap.

De UID range is als volgt ingedeeld:

  • 0 t/m 499 zijn vaste standaard unix users die reeds aanwezig zijn.
  • 500 t/m 980 zijn unix users die met useradd worden gemaakt.
  • 1000 en verder zijn Syn-3 LDAP gebruikers, aangemaakt via de SCC.

Groepen

Groepen werken ongeveer op dezelfde manier:

[Syn-3] root@darkstar.example.net ~# getent group
root::0:root
bin::1:root,bin,daemon
...
qmail:x:56:
jannie:x:116:
Domain Admins:x:512:Administrator
Domain Users:x:513:geert,test,test2
Domain Guests:x:514:
Domain Computers:x:515:
Internet:x:516:
Windows VPN - pptp:x:520:
mijngroep:x:1002:

Indeling van de GID range is als volgt:

  • 0 t/m 99 zijn vaste standaard unix groepen die reeds aanwezig zijn.
  • 100 t/m 399 zijn unix users die met groupadd worden aagemaakt.
  • 500 t/m 999 zijn Syn-3 LDAP systeem groepen. Deze maak je in de postinstaller aan met smbldap-groupadd en kunnen niet door de systeembeheerder verwijderd worden.
  • 1000 en verder zijn Syn-3 LDAP groepen die door de administrator met de SCC aangemaakt zijn.

Het aanmaken van extra groepen doe je door in de post installer zoiets te doen:

if ! getent group "SVN read access" &> /dev/null; then
 smbldap-groupadd -g 540 "SVN read access" || exit 1;
fi

Zorg dat je zeker weet dat de GID niet in gebruik is door andere pakketjes! Zie de lijst hieronder.

Gereserveerde groepen en GIDs

  • 512 Domain Admins
  • 515 Domain Computers
  • 514 Domain Guests
  • 513 Domain Users
  • 516 Internet
  • 520 Windows VPN - pptp
  • 530 SugarCRM
  • 540 SVN read access
  • 541 SVN write access
  • 542 Trac access

Werk deze lijst bij aub!

Als je een nieuwe service of webapplicatie hebt die authenitate doet, maak dan een nieuwe gereserveerde groep aan en zorg er voor dat er op group lidmaatschap gecontroleerd word! Zo kan de systeembeheerder eenvoudig toegang geven of weigeren voor deze applicatie.

LDAP tree indeling

De tree is als volgt ingedeeld...(moet nog)

Authenticatie backends

De opzet van Syn-3 is zo gemaakt dat men gebruik kan maken van allerlei diensten met behulp van 1 inlognaam en password. Er zijn een aantal authenticatie services die allemaal in de LDAP database kijken. Deze kun je dus gebruiken als je een nieuwe applicatie hebt die user logins moet doen.

We hebben de volgende backends:

  • Openldap - (duh) Je kan uiteraard rechstreeks tegen de ldap server authenticaten.
  • Radius - Je moet lid zijn van groep 520 Windows VPN - pptp. (Misschien moeten we dit ooit nog van naam veranderen?)
  • Cyrus-sasl - Gebruikt voor cyrus-imap server, maar kan ook door andere services gebruikt worden. Geen groups-check.
  • Pam - Bepaalde services zoals cups en sshd kunnen rechstreeks tegen PAM authenticaten. (Die op zijn beurt met ldap praat)
  • Samba - Samba kan als PDC aanmeld server gebruikt worden voor Windows clients.

Automatisch aanmaken extra gegevens

Mailboxen, openxhchange accounts etc worden automatisch aangemaakt door de verschillende modules in de SCC.

Je ziet dit ook terug in de logmelding na het aanmaken van een gebruiker.

De file userman.php in iedere SCC module is hier verantwoordelijk voor:

[Syn-3] root@darkstar.example.net ~# ls /usr/webint/htdocs/*/userman.php -l
-rwxr-xr-x  1 root root  498 Sep 11 18:01 /usr/webint/htdocs/examplemodule/userman.php*
-rwxr-xr-x  1 root root  682 Sep 11 18:01 /usr/webint/htdocs/mail/userman.php*
-rwxr-xr-x  1 root root 1954 Sep 11 18:01 /usr/webint/htdocs/openxchange/userman.php*
-rwxr-xr-x  1 root root  670 Sep 11 18:01 /usr/webint/htdocs/samba/userman.php*

Zodra er een nieuwe user toegevoegd is word er een syncronisatie slag uitgevoerd tegen de ldap server. Deze syncronisatie slag kan de systeembeheerder ook handmatig uitvoeren, mocht er een user op een andere manier zijn toegevoegd. Dit kan voorkomen als je meerdere syn3 servers hebt, of een externe ldap server.

Bij het syncroniseren kijkt de SCC welke users zich in LDAP bevinden, en welke users zich in de afzonderlijke modules bevinden. Hierna worden de destbetreffende users in de modules worden aangemaakt en verwijderd. Het verwijderen gaat uit veiligheids overwegingen niet automatisch! De Administrator moet hiervoor op de speciale 'opschonen' knop drukken.