Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
smedev:make_everything_dynamic_with_ldap [28/03/2013 19:57] dani créée |
smedev:make_everything_dynamic_with_ldap [01/08/2013 09:14] (Version actuelle) dani [Disable user/group managements] |
||
---|---|---|---|
Ligne 6: | Ligne 6: | ||
===== The goal ===== | ===== The goal ===== | ||
- | The goal I have is to have more things in LDAP, ultimately, adding users and groups shouldn' | + | The goal is to have more things in LDAP, ultimately, adding users and groups shouldn' |
===== In which way this can be useful ===== | ===== In which way this can be useful ===== | ||
Ligne 14: | Ligne 14: | ||
==== Switch to LDAP auth ==== | ==== Switch to LDAP auth ==== | ||
+ | The first step (of course) is to enable LDAP as the main source of authentication on SME. Most of the work is already done, we just need some testers, bugs reports etc... | ||
+ | |||
+ | Here's a list of bugs which need to be fixed: | ||
+ | |||
+ | * Configure a valid binddn and bindpw for nss_ldap (http:// | ||
+ | |||
+ | ==== Modify a few things in LDAP ==== | ||
+ | Here's a list of a few things which can be enhanced in LDAP | ||
+ | |||
+ | === Replace cpu === | ||
+ | LDAP users and groups are managed with [[http:// | ||
+ | * this tool isn't maintained anymore (last version was released in 2004) | ||
+ | * it only supports rfc2307 (see next chapter: switch to rfc2307bis) | ||
+ | * it won't let you add local users to LDAP groups (see http:// | ||
+ | * it's written in C, so a bit hard to enhance | ||
+ | |||
+ | I think it'd be better to switch to a perl based tool, like [[http:// | ||
+ | |||
+ | === Switch to rfc2307bis ? === | ||
+ | |||
+ | The main difference between rfc2307 (currently used) and rfc2307bis is the way groups are handled. The biggest advantage of rfc2307bis is the possibility to enabled the memberOf overlay. The memberOf overlay (see http:// | ||
+ | |||
+ | (& | ||
+ | |||
+ | This filter would only match members of the **admins** group. | ||
+ | |||
+ | The problem here is that switching to rfc2307bis requires a modification of the structural objectClass of group objects (from posixGroup to groupOfNames), | ||
+ | |||
+ | |||
+ | === Add smbk5pwd === | ||
+ | smbk5pwd is a overlay which makes sure Unix and samba passwords stay in sync (as long as you use LDAP exop to change the password). This would ensure password are in sync even if you change it from the command line using the passwd command, or with any other software which allow password modification through LDAP (SOGo, LemonLDAP:: | ||
+ | |||
+ | See this bug: http:// | ||
+ | |||
+ | === Add pseudonyms as mail/ | ||
+ | Pseudonyms and all the variants with the different virtual domains should be added in LDAP | ||
+ | |||
+ | * All the virtual domains / pseudonyms combinations should be added in LDAP either as mail or mailAlternateAddress | ||
+ | * A new prop should be available to select the first/ | ||
+ | * Maybe we should add a prop to create domains only for apache, and not handle mails. | ||
+ | |||
==== Automatically create the home dir on first connection ==== | ==== Automatically create the home dir on first connection ==== | ||
+ | If we want everything to be dynamic, the home directory of users should be created on the fly on the first connection. This can be achieve with: | ||
+ | * pam_mkhomedir: | ||
+ | * root preexec: if the user tries to access his personal folder through samba, we can also create it on the fly using a root preexec script defined in smb.conf | ||
+ | |||
==== Switch to qmail-ldap (or another LDAP aware MTA, like postfix) ==== | ==== Switch to qmail-ldap (or another LDAP aware MTA, like postfix) ==== | ||
+ | |||
+ | qmail-ldap (see http:// | ||
+ | |||
+ | * Add required schema to LDAP | ||
+ | * Add required objectClass/ | ||
+ | * switch to qmail-ldap (or postfix) using an LDAP backend. | ||
+ | |||
==== Modify qpsmtpd to use LDAP ==== | ==== Modify qpsmtpd to use LDAP ==== | ||
+ | * Replace goodrcptto with an LDAP equivalent (rcpt_ldap) | ||
+ | |||
==== Modify esmith:: | ==== Modify esmith:: | ||
+ | * Read operations should first try to read LDAP directly | ||
+ | * Write/read fallback to standard flat file DB | ||
+ | ==== Configure OpenLDAP as a proxy ==== | ||
+ | ==== Disable user/group managements ==== | ||
+ | * Make it possible to disable user and group management. When a SME Server is using a remote LDAP server, we should prevent user/groups management |