Version 2 (modified by 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 -- Gebruikt voor Syn-3 fileserver en Windows.
- 515 Domain Computers -- Gebruikt voor Syn-3 fileserver en Windows.
- 514 Domain Guests -- Gebruikt voor Syn-3 fileserver en Windows.
- 513 Domain Users -- Gebruikt voor Syn-3 fileserver en Windows.
- 516 Internet -- Leden hebben toegang tot de proxyserver.
- 520 Windows VPN - pptp -- Leden kunnen inbellen met Windows pptp.
- 530 SugarCRM -- Leden kunnen inloggen op SugarCRM
- 540 SVN read access -- Leden kunnen de svn tree lezen.
- 541 SVN write access -- Leden kunnen de svn tree bewerken.
- 542 Trac access -- Leden hebben toegang tot het Trac systeem.
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.