From cc690fe34ba525843ab2d69500570fd902fe9314 Mon Sep 17 00:00:00 2001 From: Roland Gruber Date: Wed, 17 May 2017 20:34:57 +0200 Subject: [PATCH] Kopano --- lam/docs/manual-sources/appendix-schema.xml | 962 +- lam/docs/manual-sources/chapter-modules.xml | 9706 +++++++++-------- .../manual-sources/chapter-selfService.xml | 18 + .../manual-sources/images/mod_kopano1.png | Bin 0 -> 4043 bytes .../images/mod_kopanoContact1.png | Bin 0 -> 18564 bytes .../images/mod_kopanoContact2.png | Bin 0 -> 39834 bytes .../images/mod_kopanoContact3.png | Bin 0 -> 28539 bytes .../manual-sources/images/mod_kopanoUser1.png | Bin 0 -> 16958 bytes .../manual-sources/images/mod_kopanoUser2.png | Bin 0 -> 38010 bytes .../manual-sources/images/mod_kopanoUser3.png | Bin 0 -> 22118 bytes .../manual-sources/images/mod_kopanoUser4.png | Bin 0 -> 56557 bytes .../manual-sources/images/schema_kopano.png | Bin 0 -> 407 bytes lam/docs/manual-sources/overview.xml | 4 +- 13 files changed, 5431 insertions(+), 5259 deletions(-) create mode 100644 lam/docs/manual-sources/images/mod_kopano1.png create mode 100644 lam/docs/manual-sources/images/mod_kopanoContact1.png create mode 100644 lam/docs/manual-sources/images/mod_kopanoContact2.png create mode 100644 lam/docs/manual-sources/images/mod_kopanoContact3.png create mode 100644 lam/docs/manual-sources/images/mod_kopanoUser1.png create mode 100644 lam/docs/manual-sources/images/mod_kopanoUser2.png create mode 100644 lam/docs/manual-sources/images/mod_kopanoUser3.png create mode 100644 lam/docs/manual-sources/images/mod_kopanoUser4.png create mode 100644 lam/docs/manual-sources/images/schema_kopano.png diff --git a/lam/docs/manual-sources/appendix-schema.xml b/lam/docs/manual-sources/appendix-schema.xml index ef8fe804..62124840 100644 --- a/lam/docs/manual-sources/appendix-schema.xml +++ b/lam/docs/manual-sources/appendix-schema.xml @@ -1,700 +1,718 @@ - + + LDAP schema files + + Here is a list of needed LDAP schema files for the different LAM + modules. For OpenLDAP we also provide a source where you can get the + files. + + LDAP schema files - Here is a list of needed LDAP schema files for the different LAM - modules. For OpenLDAP we also provide a source where you can get the - files. + + + + -
- LDAP schema files + Account type - - - - + Object class(es) - Account type + Schema name - Object class(es) + Source - Schema name + Notes + + - Source + + + + + + + - Notes - - + Unix accounts - - - - - - - + posixAccount, shadowAccount, hostObject, posixGroup - Unix accounts + nis.schema, rfc2307bis.schema, ldapns.schema + (hostObject) - posixAccount, shadowAccount, hostObject, posixGroup + Part of OpenLDAP installation, part of libpam-ldap + (ldapns.schema) - nis.schema, rfc2307bis.schema, ldapns.schema - (hostObject) + The rfc2307bis.schema is only supported by LAM Pro. Use the + nis.schema if you do not want to upgrade to LAM Pro. + - Part of OpenLDAP installation, part of libpam-ldap - (ldapns.schema) + + + + + + - The rfc2307bis.schema is only supported by LAM Pro. Use the - nis.schema if you do not want to upgrade to LAM Pro. - + Address book entries - - - - - - + inetOrgPerson - Address book entries + inetorgperson.schema - inetOrgPerson + Part of OpenLDAP installation - inetorgperson.schema + + - Part of OpenLDAP installation + + + + + + - - + Samba 3 accounts - - - - - - + sambaSamAccount, sambaGroupMapping, sambaDomain - Samba 3 accounts + samba.schema - sambaSamAccount, sambaGroupMapping, sambaDomain + Part of Samba tarball (examples/LDAP/samba.schema) - samba.schema + + - Part of Samba tarball (examples/LDAP/samba.schema) + + + + + + - - + Windows AD (Samba 4) - - - - - - + user, group, computer - Windows AD (Samba 4) + - user, group, computer + Samba 4 built-in - + + - Samba 4 built-in + + + + + + - - + Kolab 2/3 users - - - - - - + kolabUser - Kolab 2/3 users + kolab2/3.schema, rfc2739.schema - kolabUser + Part of Kolab 2/3 installation - kolab2/3.schema, rfc2739.schema + + - Part of Kolab 2/3 installation + + + + + + - - + Asterisk (extension) - - - - - - + AsteriskSIPUser, AsteriskExtension - Asterisk (extension) + asterisk.schema - AsteriskSIPUser, AsteriskExtension + Part of Asterisk installation - asterisk.schema + + - Part of Asterisk installation + + + + + + - - + PyKota users, groups, printers and billing codes - - - - - - + pykotaObject, pykotaAccount, pykotaAccountBalance, + pykotaGroup, pykotaPrinter, pykotaBilling - PyKota users, groups, printers and billing codes + pykota.schema - pykotaObject, pykotaAccount, pykotaAccountBalance, - pykotaGroup, pykotaPrinter, pykotaBilling + Part of PyKota installation - pykota.schema + + - Part of PyKota installation + + + + + + - - + Mail routing - - - - - - + inetLocalMailRecipient - Mail routing + misc.schema - inetLocalMailRecipient + Part of OpenLDAP installation - misc.schema + + - Part of OpenLDAP installation + + + + + + - - + Hosts - - - - - - + hostObject, device - Hosts + ldapns.schema - hostObject, device + Part of libpam-ldap installation - ldapns.schema + The device object class is only available in LAM Pro. + - Part of libpam-ldap installation + + + + + + - The device object class is only available in LAM - Pro. - + Authorized services - - - - - - + authorizedServiceObject - Authorized services + ldapns.schema - authorizedServiceObject + Part of libpam-ldap installation - ldapns.schema + + - Part of libpam-ldap installation + + + + + + - - + Mail aliases - - - - - - + nisMailAlias - Mail aliases + misc.schema - nisMailAlias + Part of OpenLDAP installation - misc.schema + + - Part of OpenLDAP installation + + + + + + - - + Qmail user - - - - - - + qmailUser - Qmail user + qmail.schema - qmailUser + Part of qmail_ldap - qmail.schema + LAM Pro only + - Part of qmail_ldap + + + + + + - LAM Pro only - + MAC addresses - - - - - - + ieee802device - MAC addresses + nis.schema - ieee802device + Part of OpenLDAP installation - nis.schema + + - Part of OpenLDAP installation + + + + + + - - + IP addresses - - - - - - + ipHost - IP addresses + nis.schema - ipHost + Part of OpenLDAP installation - nis.schema + LAM Pro only + - Part of OpenLDAP installation + + + + + + - LAM Pro only - + Puppet - - - - - - + puppetClient - Puppet + puppet.schema - puppetClient + Puppet + on GitHub - puppet.schema + + - Puppet - on GitHub + + + + + + - - + EDU person - - - - - - + eduPerson - EDU person + eduperson.schema - eduPerson + http://middleware.internet2.edu - eduperson.schema + + - http://middleware.internet2.edu + + + + + + - - + Simple Accounts - - - - - - + account - Simple Accounts + cosine.schema - account + Part of OpenLDAP installation - cosine.schema + + - Part of OpenLDAP installation + + + + + + - - + SSH public keys - - - - - - + ldapPublicKey - SSH public keys + openssh-lpk.schema - ldapPublicKey + Included in patch from http://code.google.com/p/openssh-lpk/ - openssh-lpk.schema + + - Included in patch from http://code.google.com/p/openssh-lpk/ + + + + + + - - + Filesystem quotas - - - - - - + systemQuotas - Filesystem quotas + quota.schema - systemQuotas + Linux + DiskQuota - quota.schema + + - Linux - DiskQuota + + + + + + - - + Group of (unique) names - - - - - - + groupOfNames, groupOfUniqueNames, groupOfMembers - Group of (unique) names + core.schema - groupOfNames, groupOfUniqueNames, groupOfMembers + Part of OpenLDAP installation - core.schema + LAM Pro only + - Part of OpenLDAP installation + + + + + + - LAM Pro only - + Groups - - - - - - + organizationalRole - Groups + core.schema - organizationalRole + Part of OpenLDAP installation - core.schema + LAM Pro only + - Part of OpenLDAP installation + + + + + + - LAM Pro only - + DHCP - - - - - - + dhcpOptions, dhcpSubnet, dhcpServer - DHCP + dhcp.schema - dhcpOptions, dhcpSubnet, dhcpServer + docs/schema/dhcp.schema - dhcp.schema + The LDAP suffix should be set to your dhcpServer + entry. + - docs/schema/dhcp.schema + + + + + + - The LDAP suffix should be set to your dhcpServer - entry. - + Bind DLZ DNS - - - - - - + dlzZone, dlzHost, dlzSOARecord, dlzNSRecord, dlzARecord, + dlzMXRecord, dlzCNameRecord, dlzPTRRecord - Bind DLZ DNS + dlz.schema - dlzZone, dlzHost, dlzSOARecord, dlzNSRecord, dlzARecord, - dlzMXRecord, dlzCNameRecord, dlzPTRRecord + part of Bind + DLZ patch - dlz.schema + LAM Pro only + - part of Bind - DLZ patch + + + + + + - LAM Pro only - + Aliases - - - - - - + alias, uidObject - Aliases + core.schema - alias, uidObject + Part of OpenLDAP installation - core.schema + LAM Pro only + - Part of OpenLDAP installation + + + + + + - LAM Pro only - + NIS netgroups - - - - - - + nisNetgroup - NIS netgroups + nis.schema - nisNetgroup + Part of OpenLDAP installation - nis.schema + + - Part of OpenLDAP installation + + + + + + - - + NIS objects - - - - - - + nisObject - NIS objects + nis.schema - nisObject + Part of OpenLDAP installation - nis.schema + LAM Pro only + - Part of OpenLDAP installation + + + + + + - LAM Pro only - + Automount objects - - - - - - + automount - Automount objects + autofs.schema, rfc2307bis.schema - automount + Autofs LDAP - autofs.schema, rfc2307bis.schema + LAM Pro only + - Autofs LDAP + + + + + + - LAM Pro only - + Oracle databases - - - - - - + orclNetService - Oracle databases + oidbase.schema, oidnet.schema, oidrdbms.schema, + alias.schema - orclNetService + Preinstalled on Oracle directory server, OpenLDAP schemas can + be downloaded e.g. here - oidbase.schema, oidnet.schema, oidrdbms.schema, - alias.schema + LAM Pro only + - Preinstalled on Oracle directory server, OpenLDAP schemas - can be downloaded e.g. here + + + + + + - LAM Pro only - + Password policies - - - - - - + pwdPolicy, device - Password policies + ppolicy.schema, core.schema - pwdPolicy, device + Part of OpenLDAP installation - ppolicy.schema, core.schema + LAM Pro only + - Part of OpenLDAP installation + + + + + + - LAM Pro only - + FreeRadius users - - - - - - + radiusprofile - FreeRadius users + openldap.schema - radiusprofile + Part of FreeRadius installation - openldap.schema + + - Part of FreeRadius installation + + + + + + - - + Heimdal Kerberos - - - - - - + krb5KDCEntry - Heimdal Kerberos + hdb.schema - krb5KDCEntry + Part of Heimdal Kerberos installation - hdb.schema + LAM Pro only + - Part of Heimdal Kerberos installation + + + + + + - LAM Pro only - + MIT Kerberos - - - - - - + krbPrincipal, krbPrincipalAux, krbTicketPolicyAux - MIT Kerberos + kerberos.schema - krbPrincipal, krbPrincipalAux, krbTicketPolicyAux + Part of MIT Kerberos installation - kerberos.schema + LAM Pro only + - Part of MIT Kerberos installation + + + + + + - LAM Pro only - + Sudo roles - - - - - - + sudoRole - Sudo roles + sudo.schema - sudoRole + Part of sudo-ldap installation - sudo.schema + LAM Pro only + - Part of sudo-ldap installation + + + + + + - LAM Pro only - + Kopano - - - - - - + kopano-user, kopano-contact, kopano-group, + kopano-dynamicgroup, kopano-addresslist, kopano-server - Zarafa + kopano.ldif - zarafa-user, zarafa-group, zarafa-server + Part of Kopano installation - zarafa.schema + LAM Pro only + - Part of Zarafa installation + + + + + + - LAM Pro only - + Zarafa - - - - - - + zarafa-user, zarafa-group, zarafa-server - IMAP mailboxes + zarafa.schema - - + Part of Zarafa installation - - + LAM Pro only + - - + + + + + + - Does not require any schema. - + IMAP mailboxes - - - - - - + - - LDAP views + - - nsview, organizationalunit + - - built-in + Does not require any schema. + - Part of LDAP server installation (e.g. 389 server) + + + + + + - LAM Pro only - - - -
-
+ LDAP views + + nsview, organizationalunit + + built-in + + Part of LDAP server installation (e.g. 389 server) + + LAM Pro only + + + + +
diff --git a/lam/docs/manual-sources/chapter-modules.xml b/lam/docs/manual-sources/chapter-modules.xml index 70332fe3..182bc3e0 100644 --- a/lam/docs/manual-sources/chapter-modules.xml +++ b/lam/docs/manual-sources/chapter-modules.xml @@ -1,3516 +1,390 @@ - - Managing entries in your LDAP directory +"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> + + Managing entries in your LDAP directory - This chapter will give you instructions how to manage the different - LDAP entries in your directory. + This chapter will give you instructions how to manage the different + LDAP entries in your directory. - Please note that not all account types are manageable with the free - LAM release. LAM Pro provides some more account types (e.g. group of - names, aliases, ...) and modules (e.g. Zarafa, custom scripts, ...) to - support additional LDAP object classes. All LAM Pro features are marked in - this manual. + Please note that not all account types are manageable with the free + LAM release. LAM Pro provides some more account types (e.g. group of names, + aliases, ...) and modules (e.g. Kopano, custom scripts, ...) to support + additional LDAP object classes. All LAM Pro features are marked in this + manual. - Basic page layout: + Basic page layout: - After the login LAM will present you its main page. It consists of a - header part which is equal for all pages and the content area which covers - most the of the page. + After the login LAM will present you its main page. It consists of a + header part which is equal for all pages and the content area which covers + most the of the page. - The header part includes the links to manage all account types (e.g. - users and groups) and open the tree view (LDAP browser). There is also the - logout link and a tools entry. + The header part includes the links to manage all account types (e.g. + users and groups) and open the tree view (LDAP browser). There is also the + logout link and a tools entry. - When you login the you will see an account listing in the content - area. + When you login the you will see an account listing in the content + area. + + + + + + + + + + Here you can create, delete and modify accounts. Use the action + buttons at the left or double click on an entry to edit it. + + The suffix selection box allows you to list only the accounts which + are located in a subtree of your LDAP directory. + + + + + + + + + + You can change the number of shown entries per page with "Change + settings". Depending on the account type there may be additional settings. + E.g. the user list can convert group numbers to group names. + + When you select to edit an entry then LAM will show all its data on a + tabbed view. There is one tab for each functional part of the account. You + can set default values by loading an account profile. + + + + + + + + + +
+ Typical usage scenarios + + Here is a list of typical usage scenarios and what account types and + modules you need to configure. + + Address book entries: + + Account types: + + + + Users (Personal) + + + + Unix accounts: + + Account types: + + + + Users (Personal + Unix) + + + + Groups (Unix (posixGroup)) + + + + Suse users may need to use Group (Group of names + Unix + (rfc2307bisPosixGroup)) because of Suse's special LDAP schema. + + Samba 3 accounts: + + Account types: + + + + Users (Personal + User + Samba 3) + + + + Groups (Unix + Samba 3) + + + + Hosts (Account + Unix + Samba 3) + + + + Samba domains (Samba domain) + + + + Samba 4/Active Directory: + + Account types: + + + + Users (Windows) + + + + Groups (Windows) + + + + Hosts (Windows) + + + + Please note that must change the attributes that are shown in the + account lists. Otherwise, the account tables will show empty lines. See + the documentation for the Windows user/group/host modules. + + For Samba 4 with Kopano use the following modules: + + + + Users (Windows + Kopano (+ Kopano contact)) + + + + Groups (Windows + Kopano) + + + + Hosts (Windows + Kopano) + + + + Kopano dynamic groups (Kopano dynamic group) + + + + Kopano address lists (Kopano address list) + + + + See also the Kopano section for + additional settings (e.g. using Kopano AD schema). + + Asterisk: + + Account types: + + + + Users (Personal + Asterisk) + + + + Asterisk extensions (Asterisk extension) + + + + Kopano: + + Account types: + + + + Users (Personal + Unix + Kopano (+ Kopano contact)) + + + + Groups (Unix + Kopano) + + + + Kopano dynamic groups (Kopano dynamic group) + + + + Kopano address lists (Kopano address list) + + + + Hosts (Device + Kopano + IP Address) + + + + PyKota: + + Account types: + + + + Users (Personal + Unix + PyKota) + + + + Groups (Unix + PyKota) + + + + Printers (PyKota) + + + + Billing codes (PyKota) + + +
+ +
+ Users + + LAM manages various types of user accounts. This includes address + book entries, Unix, Samba, Kopano and much more. + + + + + Account list settings: + + The user list includes two special options to change how your users + are displayed. - + - Here you can create, delete and modify accounts. Use the action - buttons at the left or double click on an entry to edit it. - - The suffix selection box allows you to list only the accounts which - are located in a subtree of your LDAP directory. + Translate GID number to group name: By default + the user list can show the primary group IDs (GIDs) of your users. There + are often cases where it is more suitable to show the group name instead. + This can be done by activating this option. Please note that LAM will + execute more LDAP queries which may result in decreased + performance. - + - You can change the number of shown entries per page with "Change - settings". Depending on the account type there may be additional settings. - E.g. the user list can convert group numbers to group names. - - When you select to edit an entry then LAM will show all its data on - a tabbed view. There is one tab for each functional part of the account. - You can set default values by loading an account profile. + Show account status: If you activate this + option then there will be an additional column displayed that shows if the + account is locked. You can see more details when moving the mouse cursor + over the lock icon. This function supports Unix, Samba, PPolicy, Windows + and 389ds locking+deactivation. - + + + + + + + + + Password: + + Click the "Set password" button to change the user's password(s). + Depending on the active account modules LAM will offer to change multiple + passwords at the same time. + + If a module supports to enforce a password change then you will see + the appropriate checkbox. LAM Pro also offers to send the password via + email after the account is saved. Email options are specified in your + LAM server profile. + + + + + + + + + + + + + Quick account (un)locking: + + When you edit an user then LAM supports to quickly lock/unlock the + whole account. This includes Unix, Samba and PPolicy. LAM can also remove + group memberships if an account is locked. + + You will see the current status of all account parts in the title + area of the account. + + + + + + + + + + If you click on the lock icon then a dialog will be opened to change + these values. Depending on which parts are locked LAM will provide options + to lock/unlock account parts. + + + + + + + + + + + + +
- Typical usage scenarios - - Here is a list of typical usage scenarios and what account types - and modules you need to configure. - - Address book entries: - - Account types: - - - - Users (Personal) - - - - Unix accounts: - - Account types: - - - - Users (Personal + Unix) - - - - Groups (Unix (posixGroup)) - - - - Suse users may need to use Group (Group of names + Unix - (rfc2307bisPosixGroup)) because of Suse's special LDAP schema. - - Samba 3 accounts: - - Account types: - - - - Users (Personal + User + Samba 3) - - - - Groups (Unix + Samba 3) - - - - Hosts (Account + Unix + Samba 3) - - - - Samba domains (Samba domain) - - - - Samba 4/Active Directory: - - Account types: - - - - Users (Windows) - - - - Groups (Windows) - - - - Hosts (Windows) - - - - Please note that must change the attributes that are shown in the - account lists. Otherwise, the account tables will show empty lines. See - the documentation for the Windows user/group/host modules. - - For Samba 4 with Zarafa use the following modules: - - - - Users (Windows + Zarafa (+ Zarafa contact)) - - - - Groups (Windows + Zarafa) - - - - Hosts (Windows + Zarafa) - - - - Zarafa dynamic groups (Zarafa dynamic group) - - - - Zarafa address lists (Zarafa address list) - - - - See also the Zarafa section for - additional settings (e.g. using Zarafa AD schema). - - Asterisk: - - Account types: - - - - Users (Personal + Asterisk) - - - - Asterisk extensions (Asterisk extension) - - - - Zarafa: - - Account types: - - - - Users (Personal + Unix + Zarafa (+ Zarafa contact)) - - - - Groups (Unix + Zarafa) - - - - Zarafa dynamic groups (Zarafa dynamic group) - - - - Zarafa address lists (Zarafa address list) - - - - Hosts (Device + Zarafa + IP Address) - - - - PyKota: - - Account types: - - - - Users (Personal + Unix + PyKota) - - - - Groups (Unix + PyKota) - - - - Printers (PyKota) - - - - Billing codes (PyKota) - - -
- -
- Users - - LAM manages various types of user accounts. This includes address - book entries, Unix, Samba, Zarafa and much more. - - - - - Account list settings: - - The user list includes two special options to change how your - users are displayed. - - - - - - - - - - Translate GID number to group name: By - default the user list can show the primary group IDs (GIDs) of your - users. There are often cases where it is more suitable to show the group - name instead. This can be done by activating this option. Please note - that LAM will execute more LDAP queries which may result in decreased - performance. - - - - - - - - - - Show account status: If you activate this - option then there will be an additional column displayed that shows if - the account is locked. You can see more details when moving the mouse - cursor over the lock icon. This function supports Unix, Samba, PPolicy, - Windows and 389ds locking+deactivation. - - - - - - - - - - - - - Password: - - Click the "Set password" button to change the user's password(s). - Depending on the active account modules LAM will offer to change - multiple passwords at the same time. - - If a module supports to enforce a password change then you will - see the appropriate checkbox. LAM Pro also offers to send the password - via email after the account is saved. Email options are specified in - your LAM server profile. - - - - - - - - - - - - - Quick account (un)locking: - - When you edit an user then LAM supports to quickly lock/unlock the - whole account. This includes Unix, Samba and PPolicy. LAM can also - remove group memberships if an account is locked. - - You will see the current status of all account parts in the title - area of the account. - - - - - - - - - - If you click on the lock icon then a dialog will be opened to - change these values. Depending on which parts are locked LAM will - provide options to lock/unlock account parts. - - - - - - - - - - - - - - - - - -
- Personal - - This module is the most common basis for user accounts in LAM. - You can use it stand-alone to manage address book entries or in - combination with Unix, Samba or other modules. - - The Personal module provides support for managing various - personal data of your users including mail addresses and telephone - numbers. You can also add photos of your users (please install PHP - Imagick/ImageMagick for full file format support). If you do - not need to manage all attributes then you can deactivate them in your - server profile. - - Configuration - - Please activate the module "Personal (inetOrgPerson)" for - users. - - - - - - - - - - The module manages lots of fields. Probably, you will not need - all of them. You can hide fields in module settings. - - In advanced options you may also set fields to read-only (for - existing accounts) and define limits for photo files. Additionally, - you can add an "ou=addressbook" subentry to each user in case you - manage user addressbooks. - - - - - - - - - - - - - User management - - - - - - - - - - User certificates can be uploaded and downloaded. LAM will - automatically convert PEM to DER format. - - - - - - - - - - - LDAP attribute mappings - - - - - Attribute name - - Name inside LAM - - - - - - businessCategory - - Business category - - - - carLicense - - Car license - - - - cn/commonName - - Common name - - - - departmentNumber - - Department(s) - - - - description - - Description - - - - employeeNumber - - Employee number - - - - employeeType - - Employee type - - - - facsimileTelephoneNumber/fax - - Fax number - - - - givenName/gn - - First name - - - - homePhone - - Home telephone number - - - - initials - - Initials - - - - jpegPhoto - - Photo - - - - l - - Location - - - - labeledURI - - Web site - - - - mail/rfc822Mailbox - - Email address - - - - manager - - Manager - - - - mobile/mobileTelephoneNumber - - Mobile number - - - - organizationName/o - - Organisation - - - - ou - - Organizational unit - - - - pager - - Pager number - - - - physicalDeliveryOfficeName - - Office name - - - - postalAddress - - Postal address - - - - postalCode - - Postal code - - - - postOfficeBox - - Post office box - - - - registeredAddress - - Registered address - - - - roomNumber - - Room number - - - - sn/surname - - Last name - - - - st - - State - - - - street/streetAddress - - Street - - - - telephoneNumber - - Telephone number - - - - title - - Job title - - - - userCertificate - - User certificates - - - - uid/userid - - User name - - - - userPassword - - Password - - - -
- - Wildcards - - This module provides the following wildcards (others may be - provided by other modules): - - - - $firstname: First name - - - - $lastname: Last name - - - - $user: User name - - - - $commonname: Common name - - - - $email: Email address - - - - You can use them in the following input fields on user edit - screen: - - - - Common name - - - - Description - - - - Mail - - - - Postal address - - - - Registered address - - - - Web site - - - - Use this when some of your data always follows the same schema. - E.g. using "$firstname $lastname" in common name field can be used - like this to get "First Last". You can set the wildcards in profile - editor so they are automatically applied for new users. - - - - - - - - - - - - - - - - - - -
- -
- Unix - - The Unix module manages Unix user accounts including group - memberships. - - There are several configuration options for this module: - - - - UID generator: LAM will suggest UID numbers for your - accounts. Please note that it may happen that there are duplicate - IDs assigned if users create accounts at the same time. Use an - overlay - like "Attribute Uniqueness" (example) if you have lots of - LAM admins creating accounts. - - - - Fixed range: LAM searches for free numbers within the - given limits. LAM always tries to use a free UID that is - greater than the existing UIDs to prevent collisions with - deleted accounts. - - - - Samba ID pool: This uses a special LDAP entry that - includes attributes that store a counter for the last used - UID/GID. Please note that this requires that you install the - Samba schema and create an LDAP entry of object class - "sambaUnixIdPool". - - - - Magic number: Use this if your LDAP server assigns the - UID numbers automatically (e.g. DNA by 389 server). Enter the - server's magic number setting. - - - - - - Password hash type: If possible use CRYPT-SHA512 or SSHA to - protect your user's passwords. The option SASL will set the - password to "{SASL}<user name>". - - - - Login shells: List of valid login shells that can be - selected when editing an account. - - - - Hidden options: Some input fields can be hidden to simplify - the GUI if you do not need them. - - - - Set primary group as memberUid: By default primary group - membership is not set on group objects but only on user - (gidNumber). Activate this if you need to have the primary group - membership in group object, too. - - - - Do not add object class: This is for Windows only. When the - checkbox is activated then the posixAccount object class will not - be added to a user. - - - - User name suggestion: The user name is automatically filled - as specified in the configuration (default smiller for Steve - Miller). Of course, the suggested value can be changed any time. - Common name is also filled with first/last name by default. - - - - - - - - - - - - - - - - - - - - - - - Group memberships can be changed when clicking on "Edit groups". - Here you can select the Unix groups and group of names - memberships. - - To enable "Group of names" please either add the groups module - "groupOfNames"/"groupOfUniqueNames" or add the account type "Group of - names". - - - - - - - - - - You can also create home directories for your users if you setup - lamdaemon. This allows you to - create the directories on the local or remote servers. - - It is also possible to check the status of the user's home - directories. If needed the directories can be created or removed at - any time. - - - - - - - - - - Wildcards - - This module provides the following wildcards (others may be - provided by other modules): - - - - $user: User name - - - - $group: Groupe name (not numeric number) - - - - You can use them in the following input fields on user edit - screen: - - - - Common name - - - - Gecos - - - - Home directory - - - - Use this when some of your data always follows the same schema. - E.g. using "/home/$user" in home directory field can be used like this - to get "/home/myuser". You can set the wildcards in profile editor so - they are automatically applied for new users. - - - - - - - - - - - - - - - - - - -
- -
- Group of names and group of members (LAM Pro) - - This module manages memberships in group of (unique) names and - also group of members. - - Please note that this module cannot be used if the Unix module - is active. In this case group memberships may be managed with the Unix - module. - - Configuration - - To activate this feature please add the user module "Group of - names (groupOfNamesUser)" to your LAM server profile. - - - - - - - - - - The module automatically detects if groups are based on - "groupOfNames", "groupOfUniqueNames" or "groupOfMembers" and sets the - correct attribute. - - - - - - - - -
- -
- Organizational roles (LAM Pro) - - LAM can manage role memberships in organizationalRole objects. To - activate this feature please add the user module "Roles - (organizationalRoleUser)" to your LAM server profile. - - - - - - - - - - User editing - - Now, there will be a new tab "Roles" when you edit your user - accounts. Here you can select the role memberships. - - - - - - - - -
- -
- Shadow - - LAM supports the management of the LDAP substitution of - /etc/shadow. Here you can setup password policies for your Unix - accounts and also view the last password change of a user. - - - - - - - - -
- -
- NIS net groups - - Configuration - - Please add the module "NIS net groups (nisNetGroupUser)" to the - list of active user modules. - - - - - - - - - - User editing - - You will now see a new tab when editing users. Here you can - assign memberships in NIS net groups and also set host/domain. - - - - - - - - -
- -
- Password self reset (LAM - Pro) - - LAM Pro allows your users to reset their passwords by answering - a security question. The reset link is displayed on the self service page. Additionally, - you can set question + answer in the admin interface. - - Please note that self service and LAM admin interface are - separated functionalities. You need to specify the list of possible - security questions in both self service profile(s) and server - profile(s). - - Schema installation - - Please install the LDAP schema as described here. - - Activate password self reset - module - - Please activate the password self reset module in your LAM Pro - server profile. - - - - - - - - - - Now select the tab "Module settings" and specify the list of - possible security questions. Only these questions will be selectable - when you later edit accounts unless you explicitly allow to enter - custom questions. LAM Pro supports to set up to three security - questions per user. - - If you do not want to set backup email addresses then you can - hide this option. - - - - - - - - - - Edit users - - After everything is setup please login to LAM Pro and edit your - users. You will see a new tab called "Password self reset". Here you - can activate/remove the password self reset function for each user. - You can also change the security question and answer. - - If you set a backup email address then confirmation emails will - also be sent to this address. This is useful if the user password - grants access to the user's primary mailbox. So passwords can be - unlocked with an external email address. - - Hint: You can add the - passwordSelfReset object class to all your users with the multi edit tool. - - Samba 4 note: Due to a bug in - Samba 4 you need to add the extension, save, and then select a - question and set the answer. If you add the extension, set - question/answer and then save all together this will cause an LDAP - error and no changes will be saved. - - - - - - - - -
- -
- Hosts - - You can specify a list of valid host names where the user may - login. If you add the value "*" then the user may login to any host. - This can be further restricted by adding explicit deny entries which - are prefixed with "!" (e.g. "!hr_server"). - - Please note that your PAM settings need to support host - restrictions. This feature is enabled by setting pam_check_host_attr yes in your /etc/pam_ldap.conf. When it is enabled then the - account facility of pam_ldap will perform the checks and return an - error when no proper host attribute is present. Please note that users - without host attribute cannot login to such a configured - server. - - - - - - - - -
- -
- Samba 3 - - LAM supports full Samba 3 user management including logon hours - and terminal server options. - - The module is enabled by adding "Samba 3 (sambaSamAccount)" to - your user modules. - - - - - - - - - - In the configuration options you can enable password history - checking. Depending on your LDAP server you might need ascending or - descending order. Just switch the setting if the password history is - not correctly updated. - - In case you have no very old Windows clients (e.g. Windows 98) - it is recommended to disable LM hashes. They are considered to be - insecure. - - You can also hide some input fields if you do not need - them. - - - - - - - - - - After configuring the module you will see the Samba 3 tab when - you edit a user. - - - - - - - - - - Logon hours can be changed. - - - - - - - - - - You can also setup terminal server settings. - - - - - - - - -
- -
- Windows (Samba 4) - - Please activate the account type "Users" in your LAM server - profile and then add the user module "Windows - (windowsUser)(*)". - - - - - - - - - - The default list attributes are for Unix and not suitable for - Windows (blank lines in account table). Please use - "#cn;#givenName;#sn;#mail" or select your own attributes to display in - the account list. - - - - - - - - - - On tab "Module settings" you can specify the possible Windows - domain names and if pre-Windows 2000 user names should be - managed. - - NIS support is deactivated by default. Enable it if - needed. - - - - - - - - - - Now you can manage your Windows users and e.g. assign groups. - You might want to set the default domain name in the profile editor. - - Attention: - - - - Password changes require a secure connection via ldaps://. - Check your LAM server profile if password changes are refused by - the server. - - - - Your server must run a 64bit operating system. Otherwise, - the module might not work. - - - - - - - - - - - - - - - - - - - - Wildcards - - This module provides the following wildcards (others may be - provided by other modules): - - - - $firstname: First name - - - - $lastname: Last name - - - - $user: User name - - - - $commonname: Common name - - - - $email: Email address - - - - You can use them in the following input fields on user edit - screen: - - - - Common name - - - - Display name - - - - Email - - - - Email alias - - - - Home directory - - - - Profile path - - - - Script path - - - - Use this when some of your data always follows the same schema. - E.g. using "$firstname $lastname" in common name field can be used - like this to get "First Last". You can set the wildcards in profile - editor so they are automatically applied for new users. - - - - - - - - - - - - - - - - - - -
- -
- Filesystem quota (lamdaemon) - - You can manage file system quotas with LAM. This requires to - setup lamdaemon. LAM connects to - your server via SSH and manages the disk filesystem quotas. The quotas - are stored directly on the filesystem. This is the default mechanism - to store quotas for most systems. - - Please add the module "Quota (quota)" for users to your LAM - server profile to enable this feature. - - If you store the quota information directly inside LDAP please - see the next section. - - - - - - - - -
- -
- Filesystem quota (LDAP) - - You can store your filesystem quotas directly in LDAP. See - Linux - DiskQuota for details since it requires quota tools that - support LDAP. You will need to install the quota LDAP schema to manage - the object class "systemQuotas". - - Please add the module "Quota (systemQuotas)" for users to your - LAM server profile to enable this feature. - - If you store the quota information on the filesystem please see - the previous section. - - - - - - - - -
- -
- Kolab - - This module supports to manage Kolab accounts with LAM. E.g. you - can set the user's mail quota and define invitation policies. - - Please add the Kolab user module in your LAM server profile to - activate Kolab support. - - - - - - - - - - Attention: LAM will add the object class "mailrecipient" by - default. This object class is available on 389 directory server but - may not be present on e.g. OpenLDAP. Please deactivate the following - setting (LAM server profile, module settings) if you do not use this - object class. - - - - - - - - - - Please enter an email address at the Personal page and set a - Unix password first. Both are required that Kolab accepts the - accounts. The email address ("Personal" page) must match your Kolab - domain, otherwise the account will not work. - - Attention: The mailbox server - cannot be changed after the account has been saved. Please make sure - that the value is correct. - - Kolab users should not be directly deleted with LAM. You can - mark an account for deletion which then is done by the Kolab server - itself. This makes sure that the mailbox etc. is also deleted. - - - - - - - - - - If you upgrade existing non-Kolab accounts please make sure that - the account has an Unix password. -
- -
- Asterisk - - LAM supports Asterisk accounts, too. See the Asterisk section for details. -
- -
- EDU person - - EDU person accounts are mainly used in university networks. You - can specify the principal name, nick names and much more. - - - - - - - - -
- -
- PyKota - - There are two LAM user modules depending if your user entries - should be built on object class "pykotaObject" or a different - structural object class (e.g. "inetOrgPerson"). For "pykotaObject" - please select "PyKota (pykotaUserStructural(*))" and "PyKota - (pykotaUser)" in all other cases. - - - - - - - - - - To display the job history please setup the job DN on tab - "Module settings": - - - - - - - - - - Now you can add the PyKota extension to your user accounts. Here - you can setup the printing options and add payments for this - user. - - For LAM Pro there are also self service fields to allow users - e.g. to view their current balance and job history. - - - - - - - - - - You may also view the payment and job history. - - - - - - - - - - - - - - - - -
- -
- Password policy (LAM Pro) - - OpenLDAP supports the ppolicy overlay - to manage password policies for LDAP entries. LAM Pro supports managing the policies and assigning them to - user accounts. - - Please add the account type "Password policies" to your LAM - server profile and activate the "Password policy" module for the user - type. - - - - - - - - - - You can select the password policy and force a password change - on next login. Accounts can also be (un)locked. - - - - - - - - - - You can assign any password policy which is found in the LDAP - suffix of the "Password policies" type. When you set the policy to - "default" then OpenLDAP will use the default policy as defined in your - slapd.conf file. - - Attention: Locking and - unlocking requires that you also activate the option "Lockout users" - in the assigned password policy. - Otherwise, it will have no effect. -
- -
- Account locking for 389ds (LAM Pro) - - This module allows you to display if users are locked by 389ds - server. You can (de)activate your users. The password expiration time - can also be managed. - - Requirements: 389ds LDAP server - - Configuration - - Please add the user module "Account locking - (locking389ds)". - - - - - - - - - - This will show the password expiration time. You can edit the - value if needed. - - If there are any failed login attempts then LAM displays their - number and till when the user is locked by the system. - - The limit of failed login attempts and lockout duration is - configured on your LDAP server and not within LAM. - - - - - - - - - - You can unlock the user by clicking on the lock icon. - - Here you can also (de)activate the account. - - Note: Accounts are only locked by the LDAP server due to failed - password attempts. You cannot manually lock an account. Deactivate it - in case you want to disable login for a user. - - - - - - - - -
- -
- FreeRadius - - FreeRadius is a software that implements the RADIUS - authentication protocol. LAM allows you to mange several of the - FreeRadius attributes. - - To activate the FreeRadius plugin please activate the FreeRadius - user module in your server profile: - - - - - - - - - - You can disable unneeded fields on the tab "Module settings". - Here you can also set the DN where your Radius profile templates are - stored if you use the option "Profile". - - - - - - - - - - Now you will see the tab "FreeRadius" when editing users. The - extension can be (de)activated for each user. You can setup e.g. - realm, IP and expiration date. - - - - - - - - -
- -
- Heimdal Kerberos (LAM Pro) - - You can manage your Heimdal Kerberos accounts with LAM Pro. - Please add the user module "Kerberos (heimdalKerberos)" to activate - this feature. - - Setup password changing - - LAM Pro cannot generate the password hashes itself because - Heimdal uses a propietary format for them. Therefore, LAM Pro needs to - call e.g. kadmin to set the password. - - The wildcards @@password@@ and @@principal@@ are replaced with - password and principal name. Please use keytab authentication for this - command since it must run without any interaction. - - Example to create a keytab: ktutil -k /root/lam.keytab add -p - lam@LAM.LOCAL -e aes256-cts-hmac-sha1-96 -V 1 - - Security hint: Please secure your LAM Pro server since the new - passwords will be visible for a short term in the process list during - password change. - - - - - - - - - - User management - - You can specify the principal/user name, ticket lifetimes and - expiration dates. Additionally, you can set various account - options. - - - - - - - - -
- -
- MIT Kerberos (LAM Pro) - - You can manage your MIT Kerberos accounts with LAM Pro. Please - add the user module "Kerberos (mitKerberos)" to activate this feature. - If you want to manage entries based on the structural object class - "krbPrincipal" please use "Kerberos (mitKerberosStructural)" - instead. - - Setup password changing - - LAM Pro cannot generate the password hashes itself because MIT - uses a propietary format for them. Therefore, LAM Pro needs to call - kadmin/kadmin.local to set the password. - - LAM will add "-q 'cpw -pw PASSWORD PRINCIPAL'" to the command to - set the password. Please use keytab authentication for this command - since it must run without any interaction. - - Keytabs may be created with the "ktutil" application. - - Security hint: Please secure your LAM Pro server since the new - passwords will be visible for a short term in the process list during - password change. - - Example commands: - - - - /usr/sbin/kadmin -k -t /home/www-data/apache.keytab -p - realm/changepwd - - - - sudo /usr/sbin/kadmin.local - - - - - - - - - - - - User management - - You can specify the principal/user name, ticket lifetimes and - expiration dates. Additionally, you can set various account - options. - - - - - - - - -
- -
- Mail aliases - - This module allows to add/remove the user in mail alias - entries. - - Note: You need to activate the - mail alias type for this - module. - - To activate mail aliases for users please select the module - "Mail aliases (nisMailAliasUser)": - - - - - - - - - - On tab Module settings you can select if you want to set the - user name or email as recipient in alias entries. - - - - - - - - - - Now you will see the mail aliases tab when editing an - user. - - The red cross will only remove the user from the alias entry. If - you click the trash can button then the whole alias entry (which may - contain other users) will be deleted. - - - - - - - - - - You can add the user to existing alias entries or create - completly new ones. - - - - - - - - -
- -
- Qmail (LAM Pro) - - LAM Pro manages all qmail attributes for users. This includes - mail addresses, ID numbers and quota settings. - - Please note that the main mail address is managed on tab - "Personal" if this module is active. Otherwise, it will be on the - qmail tab. - - - - - - - - - - You can hide several qmail options if you do not want to manage - them with LAM. This can be done on the module settings tab of your LAM - server profile. - - - - - - - - -
- -
- Mail routing - - LAM supports to manage mail routing for user accounts. - - Module activation: - - This feature can be activated by adding the "Mail routing" - module to the user account type in your server profile. - - - - - - - - - - Usage: - - You can specify a routing address, the mail server and a number - of local addresses to route. - - In case you want to add this extension by default for new users - there is an option in profile editor. - - - - - - - - -
- -
- SSH keys - - You can manage your public keys for SSH in LAM if you installed - the LPK patch for - SSH. Activate the "SSH public key" module for users in the - server profile and you can add keys to your user entries. - - - - - - - - -
- -
- Authorized services - - You can setup PAM to check if a user is allowed to run a - specific service (e.g. sshd) by reading the LDAP attribute - "authorizedService". This way you can manage all allowed services via - LAM. - - - - To activate this PAM feature please setup your /etc/libnss-ldap.conf and set - "pam_check_service_attr" to "yes". - - - - Inside LAM you can now set the allowed services. You may also - setup default services in your account profiles. - - - - - - - - - - You can define a list of services in your LAM server profile - that is used for autocompletion. - - - - - - - - - - The autocompletion will show all values that contains the - entered text. To display the whole list you can press backspace in the - empty input field. Of course, you can also insert a service name that - is not in the list. - - - - - - - - -
- -
- IMAP mailboxes - - LAM may create and delete mailboxes on an IMAP server for your - user accounts. You will need an IMAP server that supports either SSL - or TLS for this feature. - - To activate the mailbox management module please add the - "Mailbox (imapAccess)" module for the type user in your LAM server - profile: - - - - - - - - - - Now configure the module on the tab "Module settings". Here you - can specify the IMAP server name, encryption options, the - authentication for the IMAP connection and the valid mail domains. LAM - can use either your LAM login password for the IMAP connection or - display a dialog where you need to enter the password. It is also - possible to store the admin password in your server profile. This is - not recommended for security reasons. - - The user name can either be a fixed name (e.g. "admin") or it - can be generated with LDAP attributes of the LAM admn user. E.g. $uid$ - will be transformed to "myUser" if you login with - "uid=myUser,ou=people,dc=example,dc=com". - - The mail domains specify for which accounts mailboxes may be - created/deleted. E.g. if you enter "lam-demo.org" then mailboxes can - be managed for "user@lam-demo.org" but not for "user@example.com". Use - "*" for any domain. - - You need to install the SSL certificate of the CA that signed - your server certificate. This is usually done by installing the - certificate in /etc/ssl/certs. Different Linux distributions may offer - different ways to do this. For Debian please copy the certificate in - "/usr/local/share/ca-certificates" and run "update-ca-certificates" as - root. - - It is not recommended to disable the validation of IMAP server - certificates. - - The prefix, user name attribute and path separator specifies how - your mailboxes are named (e.g. "user.myUser@localhost" or - "user/myUser"). Select the values depending on your IMAP server - settings. - - You can specify a list of initial folder names to create for new - mailboxes. LAM will then create them with each new mailbox. - - - - - - - - - - When you edit an user account then you will now see the tab - "Mailbox". Here you can create/delete the mailbox for this - user. - - - - - - - - -
- -
- IP addresses (LAM Pro) - - You can manage the IP addresses of user accounts (e.g. assigned - by DHCP) with the ipHost module. - - Configuration - - - - - - - - - - User editing - - - - - - - - -
- -
- Account - - This is a very simple module to manage accounts based on the - object class "account". Usually, this is used for host accounts only. - Please pay attention that users based on the "account" object class - cannot have contact information (e.g. telephone number) as with - "inetOrgPerson". - - You can enter a user/host name and a description for your - accounts. - - - - - - - - -
-
- -
- Groups - - - -
- Unix - - This module is used to manage Unix group entries. This is the - default module to manage Unix groups and uses the nis.schema. Suse - users who use the rfc2307bis.schema need to use - LAM Pro. - - Configuration - - Please add the account type "Groups" and then select account - module "Unix (posixGroup)". - - - - - - - - - - GID generator: LAM will suggest GID numbers for your accounts. - Please note that it may happen that there are duplicate IDs assigned - if users create groups at the same time. Use an overlay - like "Attribute Uniqueness" (example) if you have lots of LAM - admins creating groups. - - - - Fixed range: LAM searches for free numbers within the given - limits. LAM always tries to use a free GID that is greater than - the existing GIDs to prevent collisions with deleted - groups. - - - - Samba ID pool: This uses a special LDAP entry that includes - attributes that store a counter for the last used UID/GID. Please - note that this requires that you install the Samba schema and - create an LDAP entry of object class "sambaUnixIdPool". - - - - Magic number: Use this if your LDAP server assigns the GID - numbers automatically (e.g. DNA by 389 server). Enter the server's - magic number setting. - - - - Disable membership management: Disables group membership - management. This is useful if memberships are e.g. managed via group - of names. - - - - - - - - - - Group management: - - - - - - - - - - Group membership management: - - - - - - - - -
- -
- Unix groups with rfc2307bis schema (LAM Pro) - - Some applications (e.g. Suse Linux) use the rfc2307bis schema - for Unix accounts instead of the nis schema. In this case group - accounts are based on the object class groupOf(Unique)Names or namedObject. - The object class posixGroup is auxiliary in this case. - - LAM Pro supports these groups with a special account module: - rfc2307bisPosixGroup - - Use this module only if your system depends on the rfc2307bis - schema. The module can be selected in the LAM configuration. Instead - of using groupOfNames as basis for your groups you may also use - namedObject. - - Module activation: - - - - - - - - - - GID generator: LAM will suggest GID numbers for your accounts. - Please note that it may happen that there are duplicate IDs assigned - if users create groups at the same time. Use an overlay - like "Attribute Uniqueness" (example) if you have lots of LAM - admins creating groups. - - - - Fixed range: LAM searches for free numbers within the given - limits. LAM always tries to use a free GID that is greater than - the existing GIDs to prevent collisions with deleted - groups. - - - - Samba ID pool: This uses a special LDAP entry that includes - attributes that store a counter for the last used UID/GID. Please - note that this requires that you install the Samba schema and - create an LDAP entry of object class "sambaUnixIdPool". - - - - Magic number: Use this if your LDAP server assigns the GID - numbers automatically (e.g. DNA by 389 server). Enter the server's - magic number setting. - - - - Disable membership management: Disables group membership - management. This is useful if memberships are e.g. managed via group - of names. - - Force sync with group of names: This will automatically set the - group memberships of the Unix part to the same members as set on group - of names tab. - - - - - - - - - - The GID number will be filled automatically based on the server - profile configuration. - - - - - - - - - - Group members can be edited and also synced with Group of - (unique) names. - - - - - - - - -
- -
- Samba 3 - - LAM supports managing Samba 3 groups. You can set special group - types and also create Windows predefined groups like "Domain - admins". - - Module activation: - - - - - - - - - - Group editing: - - - - - - - - -
- -
- Windows (Samba 4) - - LAM can manage your Windows groups. Please enable the account - type "Groups" in your LAM server profile and then add the group module - "Windows (windowsGroup)(*)". - - - - - - - - - - The default list attributes are for Unix and not suitable for - Windows (blank lines in account table). Please use - "#cn;#member;#description" or select your own attributes to display in - the account list. - - - - - - - - - - NIS support is deactivated by default. Enable it if needed on - tab "Module settings". - - - - - - - - - - Now you can edit your groups inside LAM. You can manage the - group name, description and its type. Of course, you can also set the - group members. - - Group scopes: - - - - Global: Use this for groups with frequent changes. Global - groups are not replicated to other domains. - - - - Universal: Groups with universal scope are used to - consolidate groups that span domains. They are globally - replicated. - - - - Domain local: Groups with domain local scope can be used to - set permissions inside one domain. They are not replicated to - other domains. - - - - Group type: - - - - Security: Use this group type to control permissions. - - - - Distribution: These groups are only used for email - applications. They cannot be used to control permissions. - - - - With "Show effective members" you can show a list of all members - of this group including members of subgroups and their - subgroups. - - - - - - - - -
- -
- Kolab - - Please activate the Kolab group module in your LAM server - profile to activate Kolab support. - - - - - - - - - - You can specify the email address and also set allowed sender - and recipient addresses. - - - - - - - - -
- -
- Mail routing - - LAM supports to manage mail routing for group accounts. - - Module activation: - - This feature can be activated by adding the "Mail routing" - module to the group account type in your server profile. - - - - - - - - - - Usage: - - You can specify a routing address, the mail server and a number - of local addresses to route. - - In case you want to add this extension by default for new groups - there is an option in profile editor. - - - - - - - - -
- -
- Quota - - You can manage file system quotas with LAM. This requires to - setup lamdaemon. File system quotas - are not stored inside LAM but managed directly on the specified - servers. - - - - - - - - -
- -
- PyKota - - There are two LAM group modules depending if your group entries - should be built on object class "pykotaObject" or a different - structural object class (e.g. "posixGroup"). For "pykotaObject" please - select "PyKota (pykotaGroupStructural(*))" and "PyKota (pykotaGroup)" - in all other cases. - - - - - - - - - - Now you can add the PyKota extension to your groups. - - - - - - - - -
-
- -
- Hosts - -
- Account - - Please see the description here. -
- -
- Device (LAM Pro) - - The device object class allows to manage general information - about all sorts of devices (e.g. computers, network hardware, ...). - You can enter the serial number, location and a describing text. It is - also possible to specify the owner of the device. - - - - - - - - -
- -
- Samba 3 - - You can manage Samba 3 host entries by adding the Unix and Samba - 3 account modules. - - - - - - - - - - - - - - - - -
- -
- Windows (Samba 4) - - LAM can manage your Windows servers and workstations. Please - enable the account type "Hosts" in your LAM server profile and then - add the host module "Windows (windowsHost)(*)". - - - - - - - - - - The default list attributes are for Unix and not suitable for - Windows (blank lines in account table). Please use - "#cn;#description;#location" or select your own attributes to display - in the account list. - - - - - - - - - - Now you will see you computer accounts inside LAM. You can set - e.g. the server's description and location information. - - - - - - - - -
- -
- IP addresses (LAM Pro) - - You can manage the IP addresses of host accounts with the ipHost - module. It manages the following information: - - - - IP addresses (IPv4/IPv6) - - - - location of the host - - - - manager: the person who is responsible for the host - - - - You can activate this extension by adding the module ipHost to - the list of active host modules. - - - - - - - - -
- -
- MAC addresses - - Hosts can have an unlimited number of MAC addresses. To enable - this feature just add the "MAC address" module to the host account - type. - - - - - - - - -
- -
- Puppet - - LAM supports to manage your Puppet configuration. You can - edit all attributes like environment, classes, variables and parent - node. - - Configuration - - To activate this feature please edit your LAM server profile and - add the host module "Puppet (puppetClient)" on tab "Modules". This - will add the Puppet tab to your host pages. - - - - - - - - - - On tab "Module settings" in your LAM server profile you may also - setup some common environment names. LAM will use them to provide - autocompletion hints when editing the environment for a node. - - If you enter any value in "Enforce classes" then LAM will only - accept this list of classes. - - - - - - - - - - Editing nodes - - When you edit a host entry then you will see the tab "Puppet". - Here you can add/remove the Puppet extension and edit all - attributes. - - - - - - - - -
- -
- NIS net groups - - NIS netgroups can be used to e.g. restrict SSH access to your - machines. - - Configuration - - Please add the module "NIS net groups (nisNetGroupHost)" to the - list of active host modules. - - - - - - - - - - Host editing - - You will now see a new tab when editing hosts. Here you can - assign memberships in NIS net groups and also set user/domain. - - - - - - - - -
-
- -
- Samba 3 domains - - Samba 3 stores information about its domain settings inside LDAP. - This includes the domain name, its SID and some policies. You can manage - all these attributes with LAM. - - Please activate the account type "Samba domains" in your LAM - server profile. Please notice that Samba by default uses the LDAP root - for domain objects (e.g. dc=example,dc=com). - - - - - - - - - - This will add a new tab to LAM where you can manage domain - information. - - The domain name, SID and RID base can only be specified for new - domains and are not changeable via LAM at a later time. You may setup - several password policies for your Samba domains and also some RID - options that influence the creation of SIDs for - users/groups/hosts. - - - - - - - - -
- -
- Group of (unique) names and group of members (LAM Pro) - - These classes can be used to represent group relations. Since they - allow DNs as members you can also use them to represent nested - groups. - - Configuration: - - Activate the account type "Group of names" in your LAM server - profile to use these account modules. Alternatively, you can use the - account type "Groups". - - - - - - - - - - - - - - - - - - Then add the module "Group of names (groupOfNames)", "Group of - unique names (groupOfUniqueNames)" or "Group of members - (groupOfMembers)". - - - - - - - - - - - - - - - - - - - - On the module settings tab you set some options like the display - format for members/owners and if fields like description should not be - displayed. - - - - - - - - - - Group management: - - Group of (unique) names have four basic attributes: - - - - Name: a unique name for the group - - - - Description: optional description - - - - Owner: the account which owns this group (optional) - - - - Members: the members of the group (at least one is - required) - - - - You can add any accounts as members. This includes other groups - which leads to nested groups. - - To show members of nested groups click on "Show effective - members". Please note that for large groups this will run lots of - queries against your LDAP server. - - - - - - - - -
- -
- Organizational roles (LAM Pro) - - This module manages roles via the organizationalRole object class. - There is also a user - module to manage memberships on the user edit page. - - Configuration: - - Activate the account type "Groups" in your LAM server profile to - use this account module. Alternatively, you can use the account type - "Group of names". - - - - - - - - - - - - - - - - - - Then add the module "Role (organizationalRole)". - - - - - - - - - - On the module settings tab you set some options like the display - format for members and if description should not be displayed. - - - - - - - - - - Role management: - - You can add any accounts as members. This includes other roles - which leads to nested roles (needs to be supported by LDAP client - applications). - - To show members of nested roles click on "Show effective members". - Please note that for large roles this will run lots of queries against - your LDAP server. - - - - - - - - -
- -
- Asterisk - - LAM includes large support for Asterisk. You can add Asterisk - extensions (including voicemail) to your users and also manage Asterisk - extensions. - - The Asterisk support for users can be added by selecting the - Asterisk and Asterisk voicemail modules for users in your LAM server - profile. This will add the following tabs to your user accounts. - - - - - - - - - - The Asterisk module allows to edit a large amount of attributes. - Therefore, you can hide unused fields. Please edit you server profile - (Module settings) to do so. - - - - - - - - - - Of course, the voicemail part of Asterisk is also - supported. - - - - - - - - - - If you also want to manage Asterisk extensions then simply add the - account type "Asterisk extensions" and its module to your server - profile. - - LAM groups your Asterisk extension entries by extension name and - account context. If you edit an extension then you will see the Asterisk - entries as rules. LAM manages that all rule entries have the same owners - and assigns the priorities. - - - - - - - - -
- -
- Zarafa (LAM Pro) - - Zarafa is an OpenSource collaboration software. LAM Pro provides - support to manage Zarafa server entries, users and groups. It covers all - settings for these types including resource and quota settings. - - LAM Pro is an official Zarafa Certified Integration. - - - - - - - -
- Configuration - - To enable Zarafa support in LAM Pro please activate the Zarafa - modules for the Users, Groups and Hosts account types in you server - profile: - - - - - - - - - - Attention: LAM Pro uses the - Zarafa OpenLDAP schema as default. This schema fits for OpenLDAP, - OpenDJ, Apache Directory server and other common LDAP servers. If you - run Samba 4 or Active Directory then you need to switch the schema to - "Active Directory" on the module settings tab: - - - - - - - - - - You can configure which parts of the Zarafa user options should - be enabled. E.g. if you do not want to manage quotas per user then you - can hide these options on the tab "Module settings". - - - - - "Send as" attribute: Here you - can specify how "Send as" privileges should be managed. LAM supports - "uid" and "dn". - - If you select "uid" the LAM will store user names in the - zarafaSendAsPrivilege attribute. This way you are restricted to - specify user accounts as "Send as" allowed. - - You can also set this option to "dn" and LAM will store DNs in - the zarafaSendAsPrivilege attribute. In this case you may specify - users and groups as "Send as" allowed. - - - - - Examples for your Zarafa ldap.cfg: - - "Send as" attribute: dn - - ldap_user_sendas_attribute_type = dn - - - - - "Send as" attribute: uid - - ldap_user_sendas_attribute_type = text - - ldap_user_sendas_relation_attribute = uid - - -Attention: If the Active Directory schema is used then LAM will always use dn and ignore this setting. - - - - - Features: Zarafa 7 allows to - enable IMAP/POP3 for each user. Please hide the option "Features" if - you use Zarafa 6.x. - - - - - - - - - -
- Users - - This is an example of the user edit page with all possible - settings. This includes email settings, quotas and some options - (e.g. hide from address book). You can also set the resource type - and capacity for meeting rooms and equipment. The Zarafa extension - can be added and removed at any time for every user. - - Please note that the option "Features" requires Zarafa 7. - Please hide this option in the LAM server profile if you run Zarafa - 6.x. - - - - - - - - -
- -
- Contacts - - LAM Pro can manage your Zarafa contact entries. You can set - the email aliases and "send as" privileges. Additionally, accounts - may be hidden in the address book or disabled. - - Please note that you can either use the Zarafa user module or - Zarafa contact. LAM Pro will disable the other tab when enabling one - of them. - - - - - - - - -
- -
- Groups - - This is the edit page for groups. You can enter an email - address and additional aliases for your groups. It is also possible - to specify options (e.g. hide from address book). The extension can - be added/removed dynamically. - - Please note that the option "Send-as privileges" requires the - Zarafa 7.0.3 schema. Please hide this option in the LAM server - profile if you run Zarafa < 7.0.3. - - - - - - - - -
- -
- Servers - - The Zarafa extension for host accounts allows to set the - connection ports and file path. You can add/remove the extension at - any time. - - Setting the public store option is only possible for new host - entries. - - Please note that the proxy URL option requires the Zarafa 7.1 - schema. Please hide this option in your LAM server profile if you - use an older version. - - - - - - - - -
- -
- Address lists - - Zarafa allows to store address lists in LDAP. You need to - define a search base and LDAP filter for each address list. E.g. - entering "ou=people,dc=company,dc=com" as base and "uid=*" will - select all users that are stored in - "ou=people,dc=company,dc=com". - - You can also hide your lists from the address book or - temporarily disable them. - - - - - - - - -
- -
- Dynamic groups - - Zarafa allows to define dynamic groups in LDAP. You need to - define a search base and LDAP filter for each group. E.g. entering - "ou=people,dc=company,dc=com" as base and "uid=*" will select all - users that are stored in "ou=people,dc=company,dc=com". - - Dynamic groups may have an email address and multiple email - alias addresses. - - You can also hide your dynamic groups from the address book or - temporarily disable them. - - - - - - - - -
-
-
- -
- Kolab shared folders - - Please add the account type "Kolab shared folders" in your LAM - server profile and set the correct LDAP suffix. - - - - - - - - - - - - - - - - - - - - - Then add the "Kolab shared folder" module on tab "Modules". - - - - - - - - - - Now you can start to add shared folders inside LAM. - - - - - - - - -
- -
- DHCP - - You can mange your DHCP server with LAM. It supports to manage - subnets, fixed IP entries, IP ranges and DDNS. + Personal + + This module is the most common basis for user accounts in LAM. You + can use it stand-alone to manage address book entries or in combination + with Unix, Samba or other modules. + + The Personal module provides support for managing various personal + data of your users including mail addresses and telephone numbers. You + can also add photos of your users (please install PHP + Imagick/ImageMagick for full file format support). If you do not + need to manage all attributes then you can deactivate them in your + server profile. Configuration - The DHCP management can be activated by adding the account type - DHCP to your server profile. Please also add the DHCP modules. - - LAM requires that you use an LDAP entry with the object class - "dhcpService" or "dhcpServer" as suffix for this account type. If the - "dhcpServer" entry points to a "dhcpService" entry via "dhcpServiceDN" - then you need to use the DN of the "dhcpService" entry as LDAP suffix - for DHCP. - - - - - Add account type: + Please activate the module "Personal (inetOrgPerson)" for + users. - + - Set suffix: + The module manages lots of fields. Probably, you will not need all + of them. You can hide fields in module settings. + + In advanced options you may also set fields to read-only (for + existing accounts) and define limits for photo files. Additionally, you + can add an "ou=addressbook" subentry to each user in case you manage + user addressbooks. - - - - - - Add modules: - - - - - - - - - - Example server - entry: - - dn: - cn=server,ou=dhcp,dc=ldap-account-manager,dc=org - - objectclass: dhcpServer - - objectclass: dhcpOptions - - objectclass: top - - cn: server - - dhcpcomments: My DHCP server - - dhcpoption: domain-name - "ldap-account-manager.org" - - dhcpoption: domain-name-servers 192.168.1.1 - - dhcpoption: routers 192.168.1.1 - - dhcpoption: netbios-name-servers 192.168.1.1 - - dhcpoption: subnet-mask 255.255.255.0 - - dhcpoption: netbios-node-type 8 - - dhcpstatements: default-lease-time 3600 - - dhcpstatements: max-lease-time 7200 - - dhcpstatements: include "mykey" - - dhcpstatements: ddns-update-style interim - - dhcpstatements: update-static-leases true - - dhcpstatements: ignore client-updates - - - - - Example settings for - dhcpd.conf: - - ddns-update-style none; - - deny unknown-clients; - - ldap-server "server"; - - ldap-dhcp-server-cn "server"; - - ldap-port 389; - - ldap-username - "uid=dhcp,ou=people,dc=ldap-account-manager,dc=org"; - - ldap-password "{SSHA}XXXXXXXXXXXX"; - - ldap-base-dn - "ou=dhcp,dc=ldap-account-manager,dc=org"; - - ldap-method dynamic; - - ldap-debug-file - "/var/log/dhcp-ldap-startup.log"; - - - - - - - slapd.conf changes: - - include /etc/ldap/schema/dhcp.schema - - index dhcpHWAddress eq - - index dhcpClassData eq -Run slapindex to rebuild the index. - - - - You can manage the settings of your DHCP service/server - entry: - - - - - - - - - - You can easily create new subnet entries. - - - - - - - - - - It is also possible to specify a list of fixed IPs. - - - - - - - - - - IP ranges may be specified. - - If you use failover pools for your IP ranges please use the pool - options on the bottom. Here you can add DHCP pools (object class - "dhcpPool") and specify the failover peer. - - - - - - - - - - If you activated DDNS in the server entry then you may also - specify the DDNS settings for this subnet. - - - - - - - - -
- -
- Bind DLZ (LAM Pro) - - Bind DLZ is - an extension to the DNS server Bind that allows to store - DNS entries inside LDAP. Please install the Bind DLZ schema file on your - LDAP server. It is part of the DLZ patch. - - Configuration - - First, you need to add the Bind DNS account type and the Bind DLZ - module: - - - - - - - - - - Please set the LDAP suffix either to an existing DNS zone - (dlzZone) or an organizational unit that should include your DNS - zones. - - - - - + @@ -3518,417 +392,590 @@ Run slapindex to rebuild the index. - - - - - - - - - Automatic PTR management - - LAM can automatically create/delete PTR entries for the entered - IPv4/6 records. You can enable this feature on the module settings - tab. - - PTR records will get the same TTL as IP records. Please note that - you need to have matching reverse zones (".in-addr.arpa"/".ip6.arpa") - under the same suffix as your other DNS entries. + User management - + - Zone management - - If you do not yet have a DNS zone then LAM can create one for you. - In list view switch the suffix to an organizational unit DN. Now you - will see a button "New zone". - - This will create the zone container entry and a default DNS entry - "@" for authoritative information. Now switch the suffix to your new - zone and start adding DNS entries. + User certificates can be uploaded and downloaded. LAM will + automatically convert PEM to DER format. - + - DNS entries - - LAM supports the following DNS record types: - - - - SOA: authoritative information - - - - NS: name servers - - - - A/AAAA: IP addresses - - - - PTR: reverse DNS entries - - - - CNAME: alias names - - - - MX: mail servers - - - - TXT: text records - - - - SRV: service entries - - - - - - - Authoritative (SOA) and name server (NS) - records - - Here you can manage general information about the zone like - timeouts and name servers. Please note that name servers must be - inserted in a special format (dot at the end). - - - - - - - - - - - - - IP addresses (A/AAAA) - - LAM will automatically set the correct type (A/AAAA) depending if - you enter an IPv4 or IPv6 address. - - - - - - - - - - - - - Reverse DNS entries - - Reverse DNS entries are important when you need to find the DNS - name that is associated with a given IP address. Reverse DNS entries are - stored in a separate DNS zone. - - - - - - - - - - - - - Alias names (CNAME) - - Sometimes a DNS entry should simply point to a different DNS entry - (e.g. for migrations). This can be done by adding an alias name. - - - - - - - - - - - - - Mail servers (MX) - - The mail server entries define where mails to a domain should be - delivered. The server with the lowest preference has the highest - priority. - - - - - - - - - - - - - Text records (TXT) - - Text records can be added to store a description or other data - (e.g. SPF information). - - - - - - - - - - - - - Services (SRV) - - Service records can be used to specify which servers provide - common services such as LDAP. Please note that the host name must be - _SERVICE._PROTOCOL (e.g. _ldap._tcp). - - - - - Priority: The priority of the target host, lower value means more - preferred. - - Weight: A relative weight for records with the same priority. E.g. - weights 20 and 80 for a service will result in 20% queries to the one - server and 80% to the other. - - Port: The port number that is used for your service. - - Server: DNS name where service can be reached (with dot at the - end). - - - - - - - - - - - - - File upload - - You can upload complete DNS zones via LAM's file upload. Here is - an example for a zone file and the corresponding CSV file. - - Zone file + LDAP attribute mappings + + + + + Attribute name + + Name inside LAM + + - - @ + businessCategory - IN - - SOA - - ns1.example.com admin.ns1.example.com (1 360000 3600 - 3600000 370000) + Business category - + carLicense - IN - - NS - - ns1.example.com. + Car license - + cn/commonName - IN - - NS - - ns2.example.com. + Common name - + departmentNumber - IN - - MX - - 10 mail1.example.com + Department(s) - + description - IN - - MX - - 20 mail2.example.com + Description - foo + employeeNumber - IN - - A - - 123.123.123.100 + Employee number - foo2 + employeeType - IN - - CNAME - - foo.example.com + Employee type - bar + facsimileTelephoneNumber/fax - IN - - A - - 123.123.123.101 + Fax number - + givenName/gn - IN + First name + - AAAA + + homePhone - 1:2:3:4:5 + Home telephone number + + + + initials + + Initials + + + + jpegPhoto + + Photo + + + + l + + Location + + + + labeledURI + + Web site + + + + mail/rfc822Mailbox + + Email address + + + + manager + + Manager + + + + mobile/mobileTelephoneNumber + + Mobile number + + + + organizationName/o + + Organisation + + + + ou + + Organizational unit + + + + pager + + Pager number + + + + physicalDeliveryOfficeName + + Office name + + + + postalAddress + + Postal address + + + + postalCode + + Postal code + + + + postOfficeBox + + Post office box + + + + registeredAddress + + Registered address + + + + roomNumber + + Room number + + + + sn/surname + + Last name + + + + st + + State + + + + street/streetAddress + + Street + + + + telephoneNumber + + Telephone number + + + + title + + Job title + + + + userCertificate + + User certificates + + + + uid/userid + + User name + + + + userPassword + + Password
- Please check that you have an existing zone entry that can be used - for the file upload. See above to create a new zone. + Wildcards - Hint: If you use the function above to create a new zone then - please skip the "@" entry in the CSV file below. LAM creates this entry - with sample data. + This module provides the following wildcards (others may be + provided by other modules): - In this example we assume that the following zone extry - exists: + + + $firstname: First name + - dn: dlzZoneName=example.com,ou=bind,dc=example,dc=com -dlzzonename: example.com -objectclass: dlzZone -objectclass: top + + $lastname: Last name + - + + $user: User name + - Here is the corresponding CSV file: bindUpload.csv + + $commonname: Common name + + + + $email: Email address + + + + You can use them in the following input fields on user edit + screen: + + + + Common name + + + + Description + + + + Mail + + + + Postal address + + + + Registered address + + + + Web site + + + + Use this when some of your data always follows the same schema. + E.g. using "$firstname $lastname" in common name field can be used like + this to get "First Last". You can set the wildcards in profile editor so + they are automatically applied for new users. + + + + + + + + + + + + + + + + + +
- Aliases (LAM Pro) + Unix - Some applications use the object class "alias" to link LDAP - entries to other parts of the LDAP tree. Activate the account type - "Aliases" in your LAM server profile to use this account type. + The Unix module manages Unix user accounts including group + memberships. - Currently, only user accounts can be aliased with the "uidObject" - object class. + There are several configuration options for this module: + + + + UID generator: LAM will suggest UID numbers for your accounts. + Please note that it may happen that there are duplicate IDs assigned + if users create accounts at the same time. Use an overlay + like "Attribute Uniqueness" (example) if you have lots of LAM + admins creating accounts. + + + + Fixed range: LAM searches for free numbers within the + given limits. LAM always tries to use a free UID that is greater + than the existing UIDs to prevent collisions with deleted + accounts. + + + + Samba ID pool: This uses a special LDAP entry that + includes attributes that store a counter for the last used + UID/GID. Please note that this requires that you install the + Samba schema and create an LDAP entry of object class + "sambaUnixIdPool". + + + + Magic number: Use this if your LDAP server assigns the UID + numbers automatically (e.g. DNA by 389 server). Enter the + server's magic number setting. + + + + + + Password hash type: If possible use CRYPT-SHA512 or SSHA to + protect your user's passwords. The option SASL will set the password + to "{SASL}<user name>". + + + + Login shells: List of valid login shells that can be selected + when editing an account. + + + + Hidden options: Some input fields can be hidden to simplify + the GUI if you do not need them. + + + + Set primary group as memberUid: By default primary group + membership is not set on group objects but only on user (gidNumber). + Activate this if you need to have the primary group membership in + group object, too. + + + + Do not add object class: This is for Windows only. When the + checkbox is activated then the posixAccount object class will not be + added to a user. + + + + User name suggestion: The user name is automatically filled as + specified in the configuration (default smiller for Steve Miller). + Of course, the suggested value can be changed any time. Common name + is also filled with first/last name by default. + + - + + + + - + + + + + + Group memberships can be changed when clicking on "Edit groups". + Here you can select the Unix groups and group of names + memberships. + + To enable "Group of names" please either add the groups module + "groupOfNames"/"groupOfUniqueNames" or add the account type "Group of + names". + + + + + + + + + + You can also create home directories for your users if you setup + lamdaemon. This allows you to create + the directories on the local or remote servers. + + It is also possible to check the status of the user's home + directories. If needed the directories can be created or removed at any + time. + + + + + + + + + + Wildcards + + This module provides the following wildcards (others may be + provided by other modules): + + + + $user: User name + + + + $group: Groupe name (not numeric number) + + + + You can use them in the following input fields on user edit + screen: + + + + Common name + + + + Gecos + + + + Home directory + + + + Use this when some of your data always follows the same schema. + E.g. using "/home/$user" in home directory field can be used like this + to get "/home/myuser". You can set the wildcards in profile editor so + they are automatically applied for new users. + + + + + + + + + + + + + + +
-
- Mail aliases +
+ Group of names and group of members (LAM Pro) - You can manage mail aliases (e.g. for NIS) inside LAM. This can be - used to replace local /etc/aliases files with LDAP. + This module manages memberships in group of (unique) names and + also group of members. - Note: Use the mail alias user - module to manage mail aliases on user pages. + Please note that this module cannot be used if the Unix module is + active. In this case group memberships may be managed with the Unix + module. - All accounts of this type are based on the "nisMailAlias" object - class and may have "cn" and "rfc822MailMember" attributes. To activate - this type please add "Mail aliases" in your LAM server profile: + Configuration + + To activate this feature please add the user module "Group of + names (groupOfNamesUser)" to your LAM server profile. - + - You need to select the Mail aliases module on the next tab. + The module automatically detects if groups are based on + "groupOfNames", "groupOfUniqueNames" or "groupOfMembers" and sets the + correct attribute. - + + + + +
+ +
+ Organizational roles (LAM Pro) + + LAM can manage role memberships in organizationalRole objects. To + activate this feature please add the user module "Roles + (organizationalRoleUser)" to your LAM server profile. + + + + + - The mail aliases will then appear as separate tab inside LAM. You - may then manage the aliases with their names and recipient - addresses. + User editing - There are mail/user icons that allow to select a mail address/user - name from the existing users. + Now, there will be a new tab "Roles" when you edit your user + accounts. Here you can select the role memberships. - + + + + +
+ +
+ Shadow + + LAM supports the management of the LDAP substitution of + /etc/shadow. Here you can setup password policies for your Unix accounts + and also view the last password change of a user. + + + + + @@ -3937,199 +984,3295 @@ objectclass: top
NIS net groups - LAM supports to define NIS netgroups. You can use them e.g. to - restrict SSH access to your machines. + Configuration - Add the NIS net group account type and its module to your server - profile. Then you can manage net groups in LAM. Net groups may contain - other net groups as child groups. You can either insert the host/user - names manually or print the search buttons next to the input fields to - find existing entries in your directory. + Please add the module "NIS net groups (nisNetGroupUser)" to the + list of active user modules. - + + + + + + User editing + + You will now see a new tab when editing users. Here you can assign + memberships in NIS net groups and also set host/domain. + + + + +
- NIS objects (LAM Pro) + Password self reset (LAM Pro) - You can manage NIS objects with LAM Pro. This allows you define - network mount points in LDAP. + LAM Pro allows your users to reset their passwords by answering a + security question. The reset link is displayed on the self service page. Additionally, you + can set question + answer in the admin interface. - Add the NIS objects type to your LAM configuration and then the - NIS objects module. This will add the NIS objects tab to LAM. + Please note that self service and LAM admin interface are + separated functionalities. You need to specify the list of possible + security questions in both self service profile(s) and server + profile(s). + + Schema installation + + Please install the LDAP schema as described here. + + Activate password self reset + module + + Please activate the password self reset module in your LAM Pro + server profile. - + + + + + + Now select the tab "Module settings" and specify the list of + possible security questions. Only these questions will be selectable + when you later edit accounts unless you explicitly allow to enter custom + questions. LAM Pro supports to set up to three security questions per + user. + + If you do not want to set backup email addresses then you can hide + this option. + + + + + + + + + + Edit users + + After everything is setup please login to LAM Pro and edit your + users. You will see a new tab called "Password self reset". Here you can + activate/remove the password self reset function for each user. You can + also change the security question and answer. + + If you set a backup email address then confirmation emails will + also be sent to this address. This is useful if the user password grants + access to the user's primary mailbox. So passwords can be unlocked with + an external email address. + + Hint: You can add the + passwordSelfReset object class to all your users with the multi edit tool. + + Samba 4 note: Due to a bug in + Samba 4 you need to add the extension, save, and then select a question + and set the answer. If you add the extension, set question/answer and + then save all together this will cause an LDAP error and no changes will + be saved. + + + + +
- Automount objects (LAM Pro) + Hosts - LAM Pro allows you to manage automount entries. Please activate - the account type "Automount objects" in your LAM Pro server - profile. + You can specify a list of valid host names where the user may + login. If you add the value "*" then the user may login to any host. + This can be further restricted by adding explicit deny entries which are + prefixed with "!" (e.g. "!hr_server"). + + Please note that your PAM settings need to support host + restrictions. This feature is enabled by setting pam_check_host_attr yes in your /etc/pam_ldap.conf. When it is enabled then the + account facility of pam_ldap will perform the checks and return an error + when no proper host attribute is present. Please note that users without + host attribute cannot login to such a configured server. - + - - Then add the correct automount module. Usually, this is "Automount - entry (automount)". If you use Suse Linux with RFC2307bis schema please - select "Automount entry (rfc2307bisAutomount)". - - - - - - - - - - This will add a new tab to LAM Pro's main screen which includes a - list of all automount entries. Here you can easily create new - entries. - - - - - - - - - - Please see the following external HowTos for more information on - automounting and LDAP: - - - - AutofsLDAP - - - - Automount - über LDAP (German) - -
- Oracle databases (LAM Pro) + Samba 3 - Oracle allows to manage connection data that is stored in - tnsnames.ora to be stored in an LDAP directory. + LAM supports full Samba 3 user management including logon hours + and terminal server options. - Initial setup - - LDAP server setup: - - You will need to install the correct Oracle LDAP schema files on - your LDAP server. If you run no Oracle LDAP server then you can get them - (oidbase.schema, oidnet.schema, oidrdbms.schema, alias.schema) e.g. from - here. - - Next you need to create the root entry for Oracle. It should look - like this: - - dn: cn=OracleContext,dc=example,dc=com -objectclass: orclContext -cn: OracleContext - - You can create it with LAM's tree view. Please note that "cn" must - be set to "OracleContext". - - - - - LAM setup: - - Edit your LAM server profile and add the Oracle account - type: + The module is enabled by adding "Samba 3 (sambaSamAccount)" to + your user modules. - + - In case you manage a single Oracle context just enter the - cn=OracleContext entry as LDAP suffix. If you manage multiple Oracle - context entries then set the LDAP suffix to a parent entry of + In the configuration options you can enable password history + checking. Depending on your LDAP server you might need ascending or + descending order. Just switch the setting if the password history is not + correctly updated. + + In case you have no very old Windows clients (e.g. Windows 98) it + is recommended to disable LM hashes. They are considered to be + insecure. + + You can also hide some input fields if you do not need them. - + - Next, add the Oracle module: + After configuring the module you will see the Samba 3 tab when you + edit a user. - + - Now you can login to LAM and start to add database - entries. + Logon hours can be changed. + + + + + + + + + + You can also setup terminal server settings. + + + + + + + + +
+ +
+ Windows (Samba 4) + + Please activate the account type "Users" in your LAM server + profile and then add the user module "Windows (windowsUser)(*)". + + + + + + + + + + The default list attributes are for Unix and not suitable for + Windows (blank lines in account table). Please use + "#cn;#givenName;#sn;#mail" or select your own attributes to display in + the account list. + + + + + + + + + + On tab "Module settings" you can specify the possible Windows + domain names and if pre-Windows 2000 user names should be + managed. + + NIS support is deactivated by default. Enable it if needed. + + + + + + + + + + Now you can manage your Windows users and e.g. assign groups. You + might want to set the default domain name in the profile editor. + + Attention: + + + + Password changes require a secure connection via ldaps://. + Check your LAM server profile if password changes are refused by the + server. + + + + Your server must run a 64bit operating system. Otherwise, the + module might not work. + + + + + + + + + + + + + + + + + + + + Wildcards + + This module provides the following wildcards (others may be + provided by other modules): + + + + $firstname: First name + + + + $lastname: Last name + + + + $user: User name + + + + $commonname: Common name + + + + $email: Email address + + + + You can use them in the following input fields on user edit + screen: + + + + Common name + + + + Display name + + + + Email + + + + Email alias + + + + Home directory + + + + Profile path + + + + Script path + + + + Use this when some of your data always follows the same schema. + E.g. using "$firstname $lastname" in common name field can be used like + this to get "First Last". You can set the wildcards in profile editor so + they are automatically applied for new users. + + + + + + + + + + + + + + + + + + +
+ +
+ Filesystem quota (lamdaemon) + + You can manage file system quotas with LAM. This requires to setup + lamdaemon. LAM connects to your + server via SSH and manages the disk filesystem quotas. The quotas are + stored directly on the filesystem. This is the default mechanism to + store quotas for most systems. + + Please add the module "Quota (quota)" for users to your LAM server + profile to enable this feature. + + If you store the quota information directly inside LDAP please see + the next section. + + + + + + + + +
+ +
+ Filesystem quota (LDAP) + + You can store your filesystem quotas directly in LDAP. See Linux + DiskQuota for details since it requires quota tools that support + LDAP. You will need to install the quota LDAP schema to manage the + object class "systemQuotas". + + Please add the module "Quota (systemQuotas)" for users to your LAM + server profile to enable this feature. + + If you store the quota information on the filesystem please see + the previous section. + + + + + + + + +
+ +
+ Kolab + + This module supports to manage Kolab accounts with LAM. E.g. you + can set the user's mail quota and define invitation policies. + + Please add the Kolab user module in your LAM server profile to + activate Kolab support. + + + + + + + + + + Attention: LAM will add the object class "mailrecipient" by + default. This object class is available on 389 directory server but may + not be present on e.g. OpenLDAP. Please deactivate the following setting + (LAM server profile, module settings) if you do not use this object + class. + + + + + + + + + + Please enter an email address at the Personal page and set a Unix + password first. Both are required that Kolab accepts the accounts. The + email address ("Personal" page) must match your Kolab domain, otherwise + the account will not work. + + Attention: The mailbox server + cannot be changed after the account has been saved. Please make sure + that the value is correct. + + Kolab users should not be directly deleted with LAM. You can mark + an account for deletion which then is done by the Kolab server itself. + This makes sure that the mailbox etc. is also deleted. + + + + + + + + + + If you upgrade existing non-Kolab accounts please make sure that + the account has an Unix password. +
+ +
+ Asterisk + + LAM supports Asterisk accounts, too. See the Asterisk section for details. +
+ +
+ EDU person + + EDU person accounts are mainly used in university networks. You + can specify the principal name, nick names and much more. + + + + + + + + +
+ +
+ PyKota + + There are two LAM user modules depending if your user entries + should be built on object class "pykotaObject" or a different structural + object class (e.g. "inetOrgPerson"). For "pykotaObject" please select + "PyKota (pykotaUserStructural(*))" and "PyKota (pykotaUser)" in all + other cases. + + + + + + + + + + To display the job history please setup the job DN on tab "Module + settings": + + + + + + + + + + Now you can add the PyKota extension to your user accounts. Here + you can setup the printing options and add payments for this + user. + + For LAM Pro there are also self service fields to allow users e.g. + to view their current balance and job history. + + + + + + + + + + You may also view the payment and job history. + + + + + + + + + + + + + + + + +
+ +
+ Password policy (LAM Pro) + + OpenLDAP supports the ppolicy overlay + to manage password policies for LDAP entries. LAM Pro supports managing the policies and assigning them to + user accounts. + + Please add the account type "Password policies" to your LAM server + profile and activate the "Password policy" module for the user + type. + + + + + + + + + + You can select the password policy and force a password change on + next login. Accounts can also be (un)locked. + + + + + + + + + + You can assign any password policy which is found in the LDAP + suffix of the "Password policies" type. When you set the policy to + "default" then OpenLDAP will use the default policy as defined in your + slapd.conf file. + + Attention: Locking and unlocking + requires that you also activate the option "Lockout users" in the + assigned password policy. Otherwise, it + will have no effect. +
+ +
+ Account locking for 389ds (LAM Pro) + + This module allows you to display if users are locked by 389ds + server. You can (de)activate your users. The password expiration time + can also be managed. + + Requirements: 389ds LDAP server + + Configuration + + Please add the user module "Account locking + (locking389ds)". + + + + + + + + + + This will show the password expiration time. You can edit the + value if needed. + + If there are any failed login attempts then LAM displays their + number and till when the user is locked by the system. + + The limit of failed login attempts and lockout duration is + configured on your LDAP server and not within LAM. + + + + + + + + + + You can unlock the user by clicking on the lock icon. + + Here you can also (de)activate the account. + + Note: Accounts are only locked by the LDAP server due to failed + password attempts. You cannot manually lock an account. Deactivate it in + case you want to disable login for a user. + + + + + + + + +
+ +
+ FreeRadius + + FreeRadius is a software that implements the RADIUS authentication + protocol. LAM allows you to mange several of the FreeRadius + attributes. + + To activate the FreeRadius plugin please activate the FreeRadius + user module in your server profile: + + + + + + + + + + You can disable unneeded fields on the tab "Module settings". Here + you can also set the DN where your Radius profile templates are stored + if you use the option "Profile". + + + + + + + + + + Now you will see the tab "FreeRadius" when editing users. The + extension can be (de)activated for each user. You can setup e.g. realm, + IP and expiration date. + + + + + + + + +
+ +
+ Heimdal Kerberos (LAM Pro) + + You can manage your Heimdal Kerberos accounts with LAM Pro. Please + add the user module "Kerberos (heimdalKerberos)" to activate this + feature. + + Setup password changing + + LAM Pro cannot generate the password hashes itself because Heimdal + uses a propietary format for them. Therefore, LAM Pro needs to call e.g. + kadmin to set the password. + + The wildcards @@password@@ and @@principal@@ are replaced with + password and principal name. Please use keytab authentication for this + command since it must run without any interaction. + + Example to create a keytab: ktutil -k /root/lam.keytab add -p + lam@LAM.LOCAL -e aes256-cts-hmac-sha1-96 -V 1 + + Security hint: Please secure your LAM Pro server since the new + passwords will be visible for a short term in the process list during + password change. + + + + + + + + + + User management + + You can specify the principal/user name, ticket lifetimes and + expiration dates. Additionally, you can set various account + options. + + + + + + + + +
+ +
+ MIT Kerberos (LAM Pro) + + You can manage your MIT Kerberos accounts with LAM Pro. Please add + the user module "Kerberos (mitKerberos)" to activate this feature. If + you want to manage entries based on the structural object class + "krbPrincipal" please use "Kerberos (mitKerberosStructural)" + instead. + + Setup password changing + + LAM Pro cannot generate the password hashes itself because MIT + uses a propietary format for them. Therefore, LAM Pro needs to call + kadmin/kadmin.local to set the password. + + LAM will add "-q 'cpw -pw PASSWORD PRINCIPAL'" to the command to + set the password. Please use keytab authentication for this command + since it must run without any interaction. + + Keytabs may be created with the "ktutil" application. + + Security hint: Please secure your LAM Pro server since the new + passwords will be visible for a short term in the process list during + password change. + + Example commands: + + + + /usr/sbin/kadmin -k -t /home/www-data/apache.keytab -p + realm/changepwd + + + + sudo /usr/sbin/kadmin.local + + + + + + + + + + + + User management + + You can specify the principal/user name, ticket lifetimes and + expiration dates. Additionally, you can set various account + options. + + + + + + + + +
+ +
+ Mail aliases + + This module allows to add/remove the user in mail alias + entries. + + Note: You need to activate the + mail alias type for this + module. + + To activate mail aliases for users please select the module "Mail + aliases (nisMailAliasUser)": + + + + + + + + + + On tab Module settings you can select if you want to set the user + name or email as recipient in alias entries. + + + + + + + + + + Now you will see the mail aliases tab when editing an user. + + The red cross will only remove the user from the alias entry. If + you click the trash can button then the whole alias entry (which may + contain other users) will be deleted. + + + + + + + + + + You can add the user to existing alias entries or create completly + new ones. + + + + + + + + +
+ +
+ Qmail (LAM Pro) + + LAM Pro manages all qmail attributes for users. This includes mail + addresses, ID numbers and quota settings. + + Please note that the main mail address is managed on tab + "Personal" if this module is active. Otherwise, it will be on the qmail + tab. + + + + + + + + + + You can hide several qmail options if you do not want to manage + them with LAM. This can be done on the module settings tab of your LAM + server profile. + + + + + + + + +
+ +
+ Mail routing + + LAM supports to manage mail routing for user accounts. + + Module activation: + + This feature can be activated by adding the "Mail routing" module + to the user account type in your server profile. + + + + + + + + + + Usage: + + You can specify a routing address, the mail server and a number of + local addresses to route. + + In case you want to add this extension by default for new users + there is an option in profile editor. + + + + + + + + +
+ +
+ SSH keys + + You can manage your public keys for SSH in LAM if you installed + the LPK patch for + SSH. Activate the "SSH public key" module for users in the + server profile and you can add keys to your user entries. + + + + + + + + +
+ +
+ Authorized services + + You can setup PAM to check if a user is allowed to run a specific + service (e.g. sshd) by reading the LDAP attribute "authorizedService". + This way you can manage all allowed services via LAM. + + + + To activate this PAM feature please setup your /etc/libnss-ldap.conf and set + "pam_check_service_attr" to "yes". + + + + Inside LAM you can now set the allowed services. You may also + setup default services in your account profiles. + + + + + + + + + + You can define a list of services in your LAM server profile that + is used for autocompletion. + + + + + + + + + + The autocompletion will show all values that contains the entered + text. To display the whole list you can press backspace in the empty + input field. Of course, you can also insert a service name that is not + in the list. + + + + + + + + +
+ +
+ IMAP mailboxes + + LAM may create and delete mailboxes on an IMAP server for your + user accounts. You will need an IMAP server that supports either SSL or + TLS for this feature. + + To activate the mailbox management module please add the "Mailbox + (imapAccess)" module for the type user in your LAM server + profile: + + + + + + + + + + Now configure the module on the tab "Module settings". Here you + can specify the IMAP server name, encryption options, the authentication + for the IMAP connection and the valid mail domains. LAM can use either + your LAM login password for the IMAP connection or display a dialog + where you need to enter the password. It is also possible to store the + admin password in your server profile. This is not recommended for + security reasons. + + The user name can either be a fixed name (e.g. "admin") or it can + be generated with LDAP attributes of the LAM admn user. E.g. $uid$ will + be transformed to "myUser" if you login with + "uid=myUser,ou=people,dc=example,dc=com". + + The mail domains specify for which accounts mailboxes may be + created/deleted. E.g. if you enter "lam-demo.org" then mailboxes can be + managed for "user@lam-demo.org" but not for "user@example.com". Use "*" + for any domain. + + You need to install the SSL certificate of the CA that signed your + server certificate. This is usually done by installing the certificate + in /etc/ssl/certs. Different Linux distributions may offer different + ways to do this. For Debian please copy the certificate in + "/usr/local/share/ca-certificates" and run "update-ca-certificates" as + root. + + It is not recommended to disable the validation of IMAP server + certificates. + + The prefix, user name attribute and path separator specifies how + your mailboxes are named (e.g. "user.myUser@localhost" or + "user/myUser"). Select the values depending on your IMAP server + settings. + + You can specify a list of initial folder names to create for new + mailboxes. LAM will then create them with each new mailbox. + + + + + + + + + + When you edit an user account then you will now see the tab + "Mailbox". Here you can create/delete the mailbox for this user. + + + + + + + + +
+ +
+ IP addresses (LAM Pro) + + You can manage the IP addresses of user accounts (e.g. assigned by + DHCP) with the ipHost module. + + Configuration + + + + + + + + + + User editing + + + + + + + + +
+ +
+ Account + + This is a very simple module to manage accounts based on the + object class "account". Usually, this is used for host accounts only. + Please pay attention that users based on the "account" object class + cannot have contact information (e.g. telephone number) as with + "inetOrgPerson". + + You can enter a user/host name and a description for your + accounts. + + + + + + + + +
+
+ +
+ Groups + + + +
+ Unix + + This module is used to manage Unix group entries. This is the + default module to manage Unix groups and uses the nis.schema. Suse users + who use the rfc2307bis.schema need to use LAM + Pro. + + Configuration + + Please add the account type "Groups" and then select account + module "Unix (posixGroup)". + + + + + + + + + + GID generator: LAM will suggest GID numbers for your accounts. + Please note that it may happen that there are duplicate IDs assigned if + users create groups at the same time. Use an overlay + like "Attribute Uniqueness" (example) if you have lots of LAM + admins creating groups. + + + + Fixed range: LAM searches for free numbers within the given + limits. LAM always tries to use a free GID that is greater than the + existing GIDs to prevent collisions with deleted groups. + + + + Samba ID pool: This uses a special LDAP entry that includes + attributes that store a counter for the last used UID/GID. Please + note that this requires that you install the Samba schema and create + an LDAP entry of object class "sambaUnixIdPool". + + + + Magic number: Use this if your LDAP server assigns the GID + numbers automatically (e.g. DNA by 389 server). Enter the server's + magic number setting. + + + + Disable membership management: Disables group membership + management. This is useful if memberships are e.g. managed via group of + names. + + + + + + + + + + Group management: + + + + + + + + + + Group membership management: + + + + + + + + +
+ +
+ Unix groups with rfc2307bis schema (LAM Pro) + + Some applications (e.g. Suse Linux) use the rfc2307bis schema for + Unix accounts instead of the nis schema. In this case group accounts are + based on the object class groupOf(Unique)Names or namedObject. The + object class posixGroup is auxiliary in this case. + + LAM Pro supports these groups with a special account module: + rfc2307bisPosixGroup + + Use this module only if your system depends on the rfc2307bis + schema. The module can be selected in the LAM configuration. Instead of + using groupOfNames as basis for your groups you may also use + namedObject. + + Module activation: + + + + + + + + + + GID generator: LAM will suggest GID numbers for your accounts. + Please note that it may happen that there are duplicate IDs assigned if + users create groups at the same time. Use an overlay + like "Attribute Uniqueness" (example) if you have lots of LAM + admins creating groups. + + + + Fixed range: LAM searches for free numbers within the given + limits. LAM always tries to use a free GID that is greater than the + existing GIDs to prevent collisions with deleted groups. + + + + Samba ID pool: This uses a special LDAP entry that includes + attributes that store a counter for the last used UID/GID. Please + note that this requires that you install the Samba schema and create + an LDAP entry of object class "sambaUnixIdPool". + + + + Magic number: Use this if your LDAP server assigns the GID + numbers automatically (e.g. DNA by 389 server). Enter the server's + magic number setting. + + + + Disable membership management: Disables group membership + management. This is useful if memberships are e.g. managed via group of + names. + + Force sync with group of names: This will automatically set the + group memberships of the Unix part to the same members as set on group + of names tab. + + + + + + + + + + The GID number will be filled automatically based on the server + profile configuration. + + + + + + + + + + Group members can be edited and also synced with Group of (unique) + names. + + + + + + + + +
+ +
+ Samba 3 + + LAM supports managing Samba 3 groups. You can set special group + types and also create Windows predefined groups like "Domain + admins". + + Module activation: + + + + + + + + + + Group editing: + + + + + + + + +
+ +
+ Windows (Samba 4) + + LAM can manage your Windows groups. Please enable the account type + "Groups" in your LAM server profile and then add the group module + "Windows (windowsGroup)(*)". + + + + + + + + + + The default list attributes are for Unix and not suitable for + Windows (blank lines in account table). Please use + "#cn;#member;#description" or select your own attributes to display in + the account list. + + + + + + + + + + NIS support is deactivated by default. Enable it if needed on tab + "Module settings". + + + + + + + + + + Now you can edit your groups inside LAM. You can manage the group + name, description and its type. Of course, you can also set the group + members. + + Group scopes: + + + + Global: Use this for groups with frequent changes. Global + groups are not replicated to other domains. + + + + Universal: Groups with universal scope are used to consolidate + groups that span domains. They are globally replicated. + + + + Domain local: Groups with domain local scope can be used to + set permissions inside one domain. They are not replicated to other + domains. + + + + Group type: + + + + Security: Use this group type to control permissions. + + + + Distribution: These groups are only used for email + applications. They cannot be used to control permissions. + + + + With "Show effective members" you can show a list of all members + of this group including members of subgroups and their subgroups. + + + + + + + + +
+ +
+ Kolab + + Please activate the Kolab group module in your LAM server profile + to activate Kolab support. + + + + + + + + + + You can specify the email address and also set allowed sender and + recipient addresses. + + + + + + + + +
+ +
+ Mail routing + + LAM supports to manage mail routing for group accounts. + + Module activation: + + This feature can be activated by adding the "Mail routing" module + to the group account type in your server profile. + + + + + + + + + + Usage: + + You can specify a routing address, the mail server and a number of + local addresses to route. + + In case you want to add this extension by default for new groups + there is an option in profile editor. + + + + + + + + +
+ +
+ Quota + + You can manage file system quotas with LAM. This requires to setup + lamdaemon. File system quotas are not + stored inside LAM but managed directly on the specified servers. + + + + + + + + +
+ +
+ PyKota + + There are two LAM group modules depending if your group entries + should be built on object class "pykotaObject" or a different structural + object class (e.g. "posixGroup"). For "pykotaObject" please select + "PyKota (pykotaGroupStructural(*))" and "PyKota (pykotaGroup)" in all + other cases. + + + + + + + + + + Now you can add the PyKota extension to your groups. + + + + + + + + +
+
+ +
+ Hosts + +
+ Account + + Please see the description here. +
+ +
+ Device (LAM Pro) + + The device object class allows to manage general information about + all sorts of devices (e.g. computers, network hardware, ...). You can + enter the serial number, location and a describing text. It is also + possible to specify the owner of the device. + + + + + + + + +
+ +
+ Samba 3 + + You can manage Samba 3 host entries by adding the Unix and Samba 3 + account modules. + + + + + + + + + + + + + + + + +
+ +
+ Windows (Samba 4) + + LAM can manage your Windows servers and workstations. Please + enable the account type "Hosts" in your LAM server profile and then add + the host module "Windows (windowsHost)(*)". + + + + + + + + + + The default list attributes are for Unix and not suitable for + Windows (blank lines in account table). Please use + "#cn;#description;#location" or select your own attributes to display in + the account list. + + + + + + + + + + Now you will see you computer accounts inside LAM. You can set + e.g. the server's description and location information. + + + + + + + + +
+ +
+ IP addresses (LAM Pro) + + You can manage the IP addresses of host accounts with the ipHost + module. It manages the following information: + + + + IP addresses (IPv4/IPv6) + + + + location of the host + + + + manager: the person who is responsible for the host + + + + You can activate this extension by adding the module ipHost to the + list of active host modules. + + + + + + + + +
+ +
+ MAC addresses + + Hosts can have an unlimited number of MAC addresses. To enable + this feature just add the "MAC address" module to the host account + type. + + + + + + + + +
+ +
+ Puppet + + LAM supports to manage your Puppet configuration. You can edit + all attributes like environment, classes, variables and parent + node. + + Configuration + + To activate this feature please edit your LAM server profile and + add the host module "Puppet (puppetClient)" on tab "Modules". This will + add the Puppet tab to your host pages. + + + + + + + + + + On tab "Module settings" in your LAM server profile you may also + setup some common environment names. LAM will use them to provide + autocompletion hints when editing the environment for a node. + + If you enter any value in "Enforce classes" then LAM will only + accept this list of classes. + + + + + + + + + + Editing nodes + + When you edit a host entry then you will see the tab "Puppet". + Here you can add/remove the Puppet extension and edit all + attributes. + + + + + + + + +
+ +
+ NIS net groups + + NIS netgroups can be used to e.g. restrict SSH access to your + machines. + + Configuration + + Please add the module "NIS net groups (nisNetGroupHost)" to the + list of active host modules. + + + + + + + + + + Host editing + + You will now see a new tab when editing hosts. Here you can assign + memberships in NIS net groups and also set user/domain. + + + + + + + + +
+
+ +
+ Samba 3 domains + + Samba 3 stores information about its domain settings inside LDAP. + This includes the domain name, its SID and some policies. You can manage + all these attributes with LAM. + + Please activate the account type "Samba domains" in your LAM server + profile. Please notice that Samba by default uses the LDAP root for domain + objects (e.g. dc=example,dc=com). + + + + + + + + + + This will add a new tab to LAM where you can manage domain + information. + + The domain name, SID and RID base can only be specified for new + domains and are not changeable via LAM at a later time. You may setup + several password policies for your Samba domains and also some RID options + that influence the creation of SIDs for users/groups/hosts. + + + + + + + + +
+ +
+ Group of (unique) names and group of members (LAM Pro) + + These classes can be used to represent group relations. Since they + allow DNs as members you can also use them to represent nested + groups. + + Configuration: + + Activate the account type "Group of names" in your LAM server + profile to use these account modules. Alternatively, you can use the + account type "Groups". + + + + + + + + + + + + + + + + + + Then add the module "Group of names (groupOfNames)", "Group of + unique names (groupOfUniqueNames)" or "Group of members + (groupOfMembers)". + + + + + + + + + + + + + + + + + + + + On the module settings tab you set some options like the display + format for members/owners and if fields like description should not be + displayed. + + + + + + + + + + Group management: + + Group of (unique) names have four basic attributes: + + + + Name: a unique name for the group + + + + Description: optional description + + + + Owner: the account which owns this group (optional) + + + + Members: the members of the group (at least one is + required) + + + + You can add any accounts as members. This includes other groups + which leads to nested groups. + + To show members of nested groups click on "Show effective members". + Please note that for large groups this will run lots of queries against + your LDAP server. + + + + + + + + +
+ +
+ Organizational roles (LAM Pro) + + This module manages roles via the organizationalRole object class. + There is also a user module + to manage memberships on the user edit page. + + Configuration: + + Activate the account type "Groups" in your LAM server profile to use + this account module. Alternatively, you can use the account type "Group of + names". + + + + + + + + + + + + + + + + + + Then add the module "Role (organizationalRole)". + + + + + + + + + + On the module settings tab you set some options like the display + format for members and if description should not be displayed. + + + + + + + + + + Role management: + + You can add any accounts as members. This includes other roles which + leads to nested roles (needs to be supported by LDAP client + applications). + + To show members of nested roles click on "Show effective members". + Please note that for large roles this will run lots of queries against + your LDAP server. + + + + + + + + +
+ +
+ Asterisk + + LAM includes large support for Asterisk. You can add Asterisk + extensions (including voicemail) to your users and also manage Asterisk + extensions. + + The Asterisk support for users can be added by selecting the + Asterisk and Asterisk voicemail modules for users in your LAM server + profile. This will add the following tabs to your user accounts. + + + + + + + + + + The Asterisk module allows to edit a large amount of attributes. + Therefore, you can hide unused fields. Please edit you server profile + (Module settings) to do so. + + + + + + + + + + Of course, the voicemail part of Asterisk is also supported. + + + + + + + + + + If you also want to manage Asterisk extensions then simply add the + account type "Asterisk extensions" and its module to your server + profile. + + LAM groups your Asterisk extension entries by extension name and + account context. If you edit an extension then you will see the Asterisk + entries as rules. LAM manages that all rule entries have the same owners + and assigns the priorities. + + + + + + + + +
+ +
+ Kopano (LAM Pro) + + Kopano is an OpenSource collaboration software. LAM Pro provides + support to manage Kopano user entries, groups, address lists and servers. + It covers all settings for these types including resource and quota + settings. + +
+ Users + + Configuration + + To enable Kopano support in LAM Pro please activate the Kopano + module for the user account type in you server profile: + + + + + + + + + + Adjust the suffix and list attributes to your needs. + + + + + + + + + + Then select the Kopano user module. You can combine it with + Personal module, Unix or Windows. + + + + + + + + + + Next configure the module to your needs. + + + + + Attention: LAM Pro uses the + Kopano OpenLDAP schema by default. This schema fits for OpenLDAP, + OpenDJ, Apache Directory server and other common LDAP servers. If you + run Samba 4 or Active Directory then you need to switch the schema to + "Active Directory" on the module settings tab. + + + + + You can hide options that you do not need. E.g. if you do not want + to manage quotas per user then you can hide these options. + + + + + Examples for your Zarafa ldap.cfg: + + "Send as" attribute: dn + + ldap_user_sendas_attribute_type = dn + + + + + "Send as" attribute: uid + + ldap_user_sendas_attribute_type = text + + ldap_user_sendas_relation_attribute = uid + + + + + Attention: If the Active Directory schema is used then LAM will + always use dn and ignore this setting. + + + + + + + + + + Usage + + LAM Pro will now display the Kopano tab on your users. This + includes email settings, quotas and some options (e.g. hide from address + book). You can also set the resource type and capacity for meeting rooms + and equipment. The Kopano extension can be added and removed at any time + for every user. + + + + + + + + +
+ +
+ Contacts + + Configuration + + The configuration is similar to users. Instead of the Kopano user + module please select the contact module. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Usage + + LAM Pro will now display the Kopano contact tab on your users. The + Kopano extension can be added and removed at any time for every + user. + + + + + + + + +
+
+ +
+ Zarafa (LAM Pro) + + Zarafa is an OpenSource collaboration software. LAM Pro provides + support to manage Zarafa server entries, users and groups. It covers all + settings for these types including resource and quota settings. + + LAM Pro is an official Zarafa Certified Integration. + + + + + + + +
+ Configuration + + To enable Zarafa support in LAM Pro please activate the Zarafa + modules for the Users, Groups and Hosts account types in you server + profile: + + + + + + + + + + Attention: LAM Pro uses the + Zarafa OpenLDAP schema as default. This schema fits for OpenLDAP, + OpenDJ, Apache Directory server and other common LDAP servers. If you + run Samba 4 or Active Directory then you need to switch the schema to + "Active Directory" on the module settings tab: + + + + + + + + + + You can configure which parts of the Zarafa user options should be + enabled. E.g. if you do not want to manage quotas per user then you can + hide these options on the tab "Module settings". + + + + + "Send as" attribute: Here you can + specify how "Send as" privileges should be managed. LAM supports "uid" + and "dn". + + If you select "uid" the LAM will store user names in the + zarafaSendAsPrivilege attribute. This way you are restricted to specify + user accounts as "Send as" allowed. + + You can also set this option to "dn" and LAM will store DNs in the + zarafaSendAsPrivilege attribute. In this case you may specify users and + groups as "Send as" allowed. + + + + + Examples for your Zarafa ldap.cfg: + + "Send as" attribute: dn + + ldap_user_sendas_attribute_type = dn + + + + + "Send as" attribute: uid + + ldap_user_sendas_attribute_type = text + + ldap_user_sendas_relation_attribute = uid + + +Attention: If the Active Directory schema is used then LAM will always use dn and ignore this setting. + + - Managing database entries - - Each database has a service name, the connection string and an - optional description. + Features: Zarafa 7 allows to + enable IMAP/POP3 for each user. Please hide the option "Features" if you + use Zarafa 6.x. - + - Database client setup for - LDAP +
+ Users - You need to activate the LDAP adapter to make the database tools - reading LDAP. Edit network/admin/sqlnet.ora like this: + This is an example of the user edit page with all possible + settings. This includes email settings, quotas and some options (e.g. + hide from address book). You can also set the resource type and + capacity for meeting rooms and equipment. The Zarafa extension can be + added and removed at any time for every user. - NAMES.DIRECTORY_PATH= (TNSNAMES, LDAP) + Please note that the option "Features" requires Zarafa 7. Please + hide this option in the LAM server profile if you run Zarafa + 6.x. - Then add a file called ldap.ora next to your sqlnet.ora and set - the LDAP server and DN suffix where cn=OracleContext is stored: + + + + + + + +
- DIRECTORY_SERVERS= (ldap.example.com:389:636) +
+ Contacts + + LAM Pro can manage your Zarafa contact entries. You can set the + email aliases and "send as" privileges. Additionally, accounts may be + hidden in the address book or disabled. + + Please note that you can either use the Zarafa user module or + Zarafa contact. LAM Pro will disable the other tab when enabling one + of them. + + + + + + + + +
+ +
+ Groups + + This is the edit page for groups. You can enter an email address + and additional aliases for your groups. It is also possible to specify + options (e.g. hide from address book). The extension can be + added/removed dynamically. + + Please note that the option "Send-as privileges" requires the + Zarafa 7.0.3 schema. Please hide this option in the LAM server profile + if you run Zarafa < 7.0.3. + + + + + + + + +
+ +
+ Servers + + The Zarafa extension for host accounts allows to set the + connection ports and file path. You can add/remove the extension at + any time. + + Setting the public store option is only possible for new host + entries. + + Please note that the proxy URL option requires the Zarafa 7.1 + schema. Please hide this option in your LAM server profile if you use + an older version. + + + + + + + + +
+ +
+ Address lists + + Zarafa allows to store address lists in LDAP. You need to define + a search base and LDAP filter for each address list. E.g. entering + "ou=people,dc=company,dc=com" as base and "uid=*" will select all + users that are stored in "ou=people,dc=company,dc=com". + + You can also hide your lists from the address book or + temporarily disable them. + + + + + + + + +
+ +
+ Dynamic groups + + Zarafa allows to define dynamic groups in LDAP. You need to + define a search base and LDAP filter for each group. E.g. entering + "ou=people,dc=company,dc=com" as base and "uid=*" will select all + users that are stored in "ou=people,dc=company,dc=com". + + Dynamic groups may have an email address and multiple email + alias addresses. + + You can also hide your dynamic groups from the address book or + temporarily disable them. + + + + + + + + +
+
+
+ +
+ Kolab shared folders + + Please add the account type "Kolab shared folders" in your LAM + server profile and set the correct LDAP suffix. + + + + + + + + + + + + + + + + + + + + + Then add the "Kolab shared folder" module on tab "Modules". + + + + + + + + + + Now you can start to add shared folders inside LAM. + + + + + + + + +
+ +
+ DHCP + + You can mange your DHCP server with LAM. It supports to manage + subnets, fixed IP entries, IP ranges and DDNS. + + Configuration + + The DHCP management can be activated by adding the account type DHCP + to your server profile. Please also add the DHCP modules. + + LAM requires that you use an LDAP entry with the object class + "dhcpService" or "dhcpServer" as suffix for this account type. If the + "dhcpServer" entry points to a "dhcpService" entry via "dhcpServiceDN" + then you need to use the DN of the "dhcpService" entry as LDAP suffix for + DHCP. + + + + + Add account type: + + + + + + + + + + Set suffix: + + + + + + + + + + Add modules: + + + + + + + + + + Example server + entry: + + dn: + cn=server,ou=dhcp,dc=ldap-account-manager,dc=org + + objectclass: dhcpServer + + objectclass: dhcpOptions + + objectclass: top + + cn: server + + dhcpcomments: My DHCP server + + dhcpoption: domain-name + "ldap-account-manager.org" + + dhcpoption: domain-name-servers 192.168.1.1 + + dhcpoption: routers 192.168.1.1 + + dhcpoption: netbios-name-servers 192.168.1.1 + + dhcpoption: subnet-mask 255.255.255.0 + + dhcpoption: netbios-node-type 8 + + dhcpstatements: default-lease-time 3600 + + dhcpstatements: max-lease-time 7200 + + dhcpstatements: include "mykey" + + dhcpstatements: ddns-update-style interim + + dhcpstatements: update-static-leases true + + dhcpstatements: ignore client-updates + + + + + Example settings for + dhcpd.conf: + + ddns-update-style none; + + deny unknown-clients; + + ldap-server "server"; + + ldap-dhcp-server-cn "server"; + + ldap-port 389; + + ldap-username + "uid=dhcp,ou=people,dc=ldap-account-manager,dc=org"; + + ldap-password "{SSHA}XXXXXXXXXXXX"; + + ldap-base-dn + "ou=dhcp,dc=ldap-account-manager,dc=org"; + + ldap-method dynamic; + + ldap-debug-file + "/var/log/dhcp-ldap-startup.log"; + + + + + + + slapd.conf changes: + + include /etc/ldap/schema/dhcp.schema + + index dhcpHWAddress eq + + index dhcpClassData eq +Run slapindex to rebuild the index. + + + + You can manage the settings of your DHCP service/server + entry: + + + + + + + + + + You can easily create new subnet entries. + + + + + + + + + + It is also possible to specify a list of fixed IPs. + + + + + + + + + + IP ranges may be specified. + + If you use failover pools for your IP ranges please use the pool + options on the bottom. Here you can add DHCP pools (object class + "dhcpPool") and specify the failover peer. + + + + + + + + + + If you activated DDNS in the server entry then you may also specify + the DDNS settings for this subnet. + + + + + + + + +
+ +
+ Bind DLZ (LAM Pro) + + Bind DLZ is an + extension to the DNS server Bind that allows to store + DNS entries inside LDAP. Please install the Bind DLZ schema file on your + LDAP server. It is part of the DLZ patch. + + Configuration + + First, you need to add the Bind DNS account type and the Bind DLZ + module: + + + + + + + + + + Please set the LDAP suffix either to an existing DNS zone (dlzZone) + or an organizational unit that should include your DNS zones. + + + + + + + + + + + + + + + + + + + + + Automatic PTR management + + LAM can automatically create/delete PTR entries for the entered + IPv4/6 records. You can enable this feature on the module settings + tab. + + PTR records will get the same TTL as IP records. Please note that + you need to have matching reverse zones (".in-addr.arpa"/".ip6.arpa") + under the same suffix as your other DNS entries. + + + + + + + + + + Zone management + + If you do not yet have a DNS zone then LAM can create one for you. + In list view switch the suffix to an organizational unit DN. Now you will + see a button "New zone". + + This will create the zone container entry and a default DNS entry + "@" for authoritative information. Now switch the suffix to your new zone + and start adding DNS entries. + + + + + + + + + + DNS entries + + LAM supports the following DNS record types: + + + + SOA: authoritative information + + + + NS: name servers + + + + A/AAAA: IP addresses + + + + PTR: reverse DNS entries + + + + CNAME: alias names + + + + MX: mail servers + + + + TXT: text records + + + + SRV: service entries + + + + + + + Authoritative (SOA) and name server (NS) + records + + Here you can manage general information about the zone like timeouts + and name servers. Please note that name servers must be inserted in a + special format (dot at the end). + + + + + + + + + + + + + IP addresses (A/AAAA) + + LAM will automatically set the correct type (A/AAAA) depending if + you enter an IPv4 or IPv6 address. + + + + + + + + + + + + + Reverse DNS entries + + Reverse DNS entries are important when you need to find the DNS name + that is associated with a given IP address. Reverse DNS entries are stored + in a separate DNS zone. + + + + + + + + + + + + + Alias names (CNAME) + + Sometimes a DNS entry should simply point to a different DNS entry + (e.g. for migrations). This can be done by adding an alias name. + + + + + + + + + + + + + Mail servers (MX) + + The mail server entries define where mails to a domain should be + delivered. The server with the lowest preference has the highest + priority. + + + + + + + + + + + + + Text records (TXT) + + Text records can be added to store a description or other data (e.g. + SPF information). + + + + + + + + + + + + + Services (SRV) + + Service records can be used to specify which servers provide common + services such as LDAP. Please note that the host name must be + _SERVICE._PROTOCOL (e.g. _ldap._tcp). + + + + + Priority: The priority of the target host, lower value means more + preferred. + + Weight: A relative weight for records with the same priority. E.g. + weights 20 and 80 for a service will result in 20% queries to the one + server and 80% to the other. + + Port: The port number that is used for your service. + + Server: DNS name where service can be reached (with dot at the + end). + + + + + + + + + + + + + File upload + + You can upload complete DNS zones via LAM's file upload. Here is an + example for a zone file and the corresponding CSV file. + + + Zone file + + + + + @ + + IN + + SOA + + ns1.example.com admin.ns1.example.com (1 360000 3600 + 3600000 370000) + + + + + + IN + + NS + + ns1.example.com. + + + + + + IN + + NS + + ns2.example.com. + + + + + + IN + + MX + + 10 mail1.example.com + + + + + + IN + + MX + + 20 mail2.example.com + + + + foo + + IN + + A + + 123.123.123.100 + + + + foo2 + + IN + + CNAME + + foo.example.com + + + + bar + + IN + + A + + 123.123.123.101 + + + + + + IN + + AAAA + + 1:2:3:4:5 + + + +
+ + Please check that you have an existing zone entry that can be used + for the file upload. See above to create a new zone. + + Hint: If you use the function above to create a new zone then please + skip the "@" entry in the CSV file below. LAM creates this entry with + sample data. + + In this example we assume that the following zone extry + exists: + + dn: dlzZoneName=example.com,ou=bind,dc=example,dc=com +dlzzonename: example.com +objectclass: dlzZone +objectclass: top + + + + Here is the corresponding CSV file: bindUpload.csv +
+ +
+ Aliases (LAM Pro) + + Some applications use the object class "alias" to link LDAP entries + to other parts of the LDAP tree. Activate the account type "Aliases" in + your LAM server profile to use this account type. + + Currently, only user accounts can be aliased with the "uidObject" + object class. + + + + + + + + + + + + + + + + +
+ +
+ Mail aliases + + You can manage mail aliases (e.g. for NIS) inside LAM. This can be + used to replace local /etc/aliases files with LDAP. + + Note: Use the mail alias user + module to manage mail aliases on user pages. + + All accounts of this type are based on the "nisMailAlias" object + class and may have "cn" and "rfc822MailMember" attributes. To activate + this type please add "Mail aliases" in your LAM server profile: + + + + + + + + + + You need to select the Mail aliases module on the next tab. + + + + + + + + + + The mail aliases will then appear as separate tab inside LAM. You + may then manage the aliases with their names and recipient + addresses. + + There are mail/user icons that allow to select a mail address/user + name from the existing users. + + + + + + + + +
+ +
+ NIS net groups + + LAM supports to define NIS netgroups. You can use them e.g. to + restrict SSH access to your machines. + + Add the NIS net group account type and its module to your server + profile. Then you can manage net groups in LAM. Net groups may contain + other net groups as child groups. You can either insert the host/user + names manually or print the search buttons next to the input fields to + find existing entries in your directory. + + + + + + + + +
+ +
+ NIS objects (LAM Pro) + + You can manage NIS objects with LAM Pro. This allows you define + network mount points in LDAP. + + Add the NIS objects type to your LAM configuration and then the NIS + objects module. This will add the NIS objects tab to LAM. + + + + + + + + +
+ +
+ Automount objects (LAM Pro) + + LAM Pro allows you to manage automount entries. Please activate the + account type "Automount objects" in your LAM Pro server profile. + + + + + + + + + + Then add the correct automount module. Usually, this is "Automount + entry (automount)". If you use Suse Linux with RFC2307bis schema please + select "Automount entry (rfc2307bisAutomount)". + + + + + + + + + + This will add a new tab to LAM Pro's main screen which includes a + list of all automount entries. Here you can easily create new + entries. + + + + + + + + + + Please see the following external HowTos for more information on + automounting and LDAP: + + + + AutofsLDAP + + + + Automount + über LDAP (German) + + +
+ +
+ Oracle databases (LAM Pro) + + Oracle allows to manage connection data that is stored in + tnsnames.ora to be stored in an LDAP directory. + + Initial setup + + LDAP server setup: + + You will need to install the correct Oracle LDAP schema files on + your LDAP server. If you run no Oracle LDAP server then you can get them + (oidbase.schema, oidnet.schema, oidrdbms.schema, alias.schema) e.g. from + here. + + Next you need to create the root entry for Oracle. It should look + like this: + + dn: cn=OracleContext,dc=example,dc=com +objectclass: orclContext +cn: OracleContext + + You can create it with LAM's tree view. Please note that "cn" must + be set to "OracleContext". + + + + + LAM setup: + + Edit your LAM server profile and add the Oracle account type: + + + + + + + + + + In case you manage a single Oracle context just enter the + cn=OracleContext entry as LDAP suffix. If you manage multiple Oracle + context entries then set the LDAP suffix to a parent entry of them. + + + + + + + + + + Next, add the Oracle module: + + + + + + + + + + Now you can login to LAM and start to add database + entries. + + + Managing database entries + + Each database has a service name, the connection string and an + optional description. + + + + + + + + + + Database client setup for + LDAP + + You need to activate the LDAP adapter to make the database tools + reading LDAP. Edit network/admin/sqlnet.ora like this: + + NAMES.DIRECTORY_PATH= (TNSNAMES, LDAP) + + Then add a file called ldap.ora next to your sqlnet.ora and set the + LDAP server and DN suffix where cn=OracleContext is stored: + + DIRECTORY_SERVERS= (ldap.example.com:389:636) DEFAULT_ADMIN_CONTEXT = "ou=ctx1,ou=oracle,o=test,c=de" DIRECTORY_SERVER_TYPE = OID - This will allow e.g. tnsping to get the connection data from - LDAP: + This will allow e.g. tnsping to get the connection data from + LDAP: - [oracle@oracle bin]$ tnsping mydb + [oracle@oracle bin]$ tnsping mydb TNS Ping Utility for Linux: Version 12.1.0.1.0 - Production on 09-FEB-2014 18:06:54 @@ -4141,918 +4284,911 @@ Used parameter files: Used LDAP adapter to resolve the alias Attempting to contact (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=mydb.example.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orcl))) OK (10 msec) -
- -
- Password policies (LAM Pro) - - OpenLDAP supports the ppolicy overlay - to manage password policies for LDAP entries. This allows you to set - password policies which are independent from your applications. The - policies are managed internally by the LDAP server. - - You can manage these policies with LAM Pro with the account type - "Password policies". - - - - - - - - - - You will need to add the ppolicy schema to your OpenLDAP - configuration and activate the ppolicy overlay - module in slapd.conf to use this feature. -
- -
- PyKota printers - - Please add the account type "Printers (PyKota printers)" on tab - "Account types" in your server profile and setup the LDAP suffix where - printers are stored. - - - - - - - - - - - - - - - - - - Then add the PyKota printer module on tab "Account - modules". - - - - - - - - - - Next you can start managing printers inside LAM. Here you can - setup the costs for a print job. LAM will also show if the printer is - member of any printer groups. - - - - - - - - - - You can also setup printer groups. Just add some members to your - new group. - - - - - - - - -
- -
- PyKota billing codes - - Please add the account type "Billing codes" on tab "Account types" - in your server profile and setup the LDAP suffix where billing codes are - stored. - - - - - - - - - - - - - - - - - - Then add the PyKota billing code module on tab "Account - modules". - - - - - - - - - - Now login to LAM and you will see the billing code tab where you - can manage your entries. If jobs were printed with a billing code then - you will also see the balance and page count. - - - - - - - - -
- -
- Custom fields (LAM Pro) - - This module allows you to manage LDAP attributes that are not - covered by the other LAM modules (e.g. if you use custom LDAP schemas). - You can fully define how your input fields look like: - - - - Label - - - - LDAP attribute name - - - - Unique name for field - - - - Help text - - - - Read-only display - - - - Field type: text, password, text area, checkbox, radio - buttons, select list, file upload - - - - Validation via regular expression - - - - Error message if validation fails - - - - Limitations: - - Custom fields cannot manage - - - - structural object classes - - - - attributes that require validation rules across multiple - attributes or cannot be described by a simple regular - expression - - - - Activating the custom fields - module: - - You may specify custom fields for all of your account types. - Please enter tab "Modules" in your server profile. Now activate the - "Custom fields (customFields)" module for all needed account - types. - - - - - - - - - - Setting label and icon: - - You may set the label that is displayed e.g. on the tab when - editing an account. It is also possible to specify an icon (must be a - valid URL like "/images/icon.png" or "http://server/images/icon.png"). - The icon size should be 32x32 pixels. - - LAM will display a default icon and "Custom fields" as label if - you do not enter any values. - - You may also specify how LAM displays cutom fields when there are - multiple field groups. The default is accordion view where you can - switch field groups by clicking on the title. You may also deactivate - this mode. Then all field groups are displayed one below the - other. - - - - - - - - - - Defining groups: - - All input fields are devided into groups. A group may contain one - or more object classes and allows you to add/remove a certain set of - input fields. - - E.g. you may define two groups - "My application A" and "My - application B" - that manage different LDAP attributes and object - classes. This way you will be able to control both attribute sets - independently. - - To create a group please edit your server profile and switch to - tab "Module settings". You will see the section "Custom fields" which - allows you to add new groups. Now select your account type (e.g. Users) - and specify an alias for your group. This alias will be printed as group - header when you later edit an account in the admin interface. - - - - - - - - - - After you created your new group you can setup the managed object - classes. If you specify any object classes then you will later be able - to add/remove a complete set of attributes including their object - classes. - - Skipping the object classes field is only useful if you want to - manage some attributes that are not yet supported by LAM but there is - already a LAM module that manages the object class. - - - - - - - - - - The group may look like when you edit a user. - - - - - - - - - - - - - - - - - - Adding fields: - - Now you can add a new field that manages an LDAP attribute. Simply - fill the fields and press on "Add". - - Please note that the field name cannot be changed later. It is the - unique ID for this field. - - - - - - - - - - Examples for fields and their representation: - - Text field: - - Text fields allow to specify a validation - expression and error message. - - You can also enable auto-completion. In this case LAM will search - all accounts for the given attribute and provide auto-completion hints - when the user edits this field. This should only be used if there is a - limited number of different values for this attribute. - - In case your field is a date value you can show a calendar for - easy editing. - - Example calendar formats: - - - - dd.mm.yy: 31.12.2016 - - - - yy-mm-dd: 2016-12-31 - - - - d M, y: 31 Dec, 16 - - - - d MM, y: 31 December, 2016 - - - - - - - - - - - - Presentation: - - - - - - - - - - Password field: - - You can also manage custom password fields. LAM Pro will display - two fields where the user must enter the same password. You can hash the - password if needed. - - - - - - - - - - Presentation: - - - - - - - - - - Text area: - - This adds a multi-line field. The options are similar to text - fields. Additionally, you can set the size with the number of columns - and rows. - - Please note that the validation - expression should be set to multi-line. This is done by adding - "m" at the end. - - - - - - - - - - Presentation: - - - - - - - - - - Checkbox: - - Sometimes you may want to allow only yes/no values for your LDAP - attributes. This can be represented by a checkbox. You can specify the - values for checked and unchecked. The default value is set if the LDAP - attribute has no value. - - - - - - - - - - Presentation: - - - - - - - - - - Radio buttons: - - This displays a list of radio buttons where the user can select - one value. - - You can specify a mapping of LDAP attribute values and their - display (label) on the Self Service page. To add more mapping fields - please press "Add more mapping fields". - - - - - - - - - - Presentation: - - - - - - - - - - Select list: - - Select lists allow the user to select a value in a large list of - options. The definition of the possible values and their display is - similar to radio buttons. - - You can also allow multiple values. - - - - - - - - - - Presentation: - - - - - - - - - - - - - - - - - - Validation expressions: - - The validation expressions follow the standard of Perl regular - expressions. They start and end with a "/". The beginning of a - line is specified by "^" and the end by "$". - - Examples: - - /^[a-z0-9]+$/ allows small letters and numbers. The value must not - be empty ("+"). - - /^[a-z0-9]+$/i allows small and capital letters ("i" at the end - means ignore case) and numbers. The value must not be empty - ("+"). - - Special characters that must be escaped with "\": "\", ".", "(", - ")" - - E.g. /^[a-z0-9\.]$/i - - +
+ +
+ Password policies (LAM Pro) + + OpenLDAP supports the ppolicy overlay to + manage password policies for LDAP entries. This allows you to set password + policies which are independent from your applications. The policies are + managed internally by the LDAP server. + + You can manage these policies with LAM Pro with the account type + "Password policies". + + + + + + + + + + You will need to add the ppolicy schema to your OpenLDAP + configuration and activate the ppolicy overlay + module in slapd.conf to use this feature. +
+ +
+ PyKota printers + + Please add the account type "Printers (PyKota printers)" on tab + "Account types" in your server profile and setup the LDAP suffix where + printers are stored. + + + + + + + + + + + + + + + + + + Then add the PyKota printer module on tab "Account modules". + + + + + + + + + + Next you can start managing printers inside LAM. Here you can setup + the costs for a print job. LAM will also show if the printer is member of + any printer groups. + + + + + + + + + + You can also setup printer groups. Just add some members to your new + group. + + + + + + + + +
+ +
+ PyKota billing codes + + Please add the account type "Billing codes" on tab "Account types" + in your server profile and setup the LDAP suffix where billing codes are + stored. + + + + + + + + + + + + + + + + + + Then add the PyKota billing code module on tab "Account + modules". + + + + + + + + + + Now login to LAM and you will see the billing code tab where you can + manage your entries. If jobs were printed with a billing code then you + will also see the balance and page count. + + + + + + + + +
+ +
+ Custom fields (LAM Pro) + + This module allows you to manage LDAP attributes that are not + covered by the other LAM modules (e.g. if you use custom LDAP schemas). + You can fully define how your input fields look like: + + + + Label + + + + LDAP attribute name + + + + Unique name for field + + + + Help text + + + + Read-only display + + + + Field type: text, password, text area, checkbox, radio buttons, + select list, file upload + + + + Validation via regular expression + + + + Error message if validation fails + + + + Limitations: + + Custom fields cannot manage + + + + structural object classes + + + + attributes that require validation rules across multiple + attributes or cannot be described by a simple regular + expression + + + + Activating the custom fields + module: + + You may specify custom fields for all of your account types. Please + enter tab "Modules" in your server profile. Now activate the "Custom + fields (customFields)" module for all needed account types. + + + + + + + + + + Setting label and icon: + + You may set the label that is displayed e.g. on the tab when editing + an account. It is also possible to specify an icon (must be a valid URL + like "/images/icon.png" or "http://server/images/icon.png"). The icon size + should be 32x32 pixels. + + LAM will display a default icon and "Custom fields" as label if you + do not enter any values. + + You may also specify how LAM displays cutom fields when there are + multiple field groups. The default is accordion view where you can switch + field groups by clicking on the title. You may also deactivate this mode. + Then all field groups are displayed one below the other. + + + + + + + + + + Defining groups: + + All input fields are devided into groups. A group may contain one or + more object classes and allows you to add/remove a certain set of input + fields. + + E.g. you may define two groups - "My application A" and "My + application B" - that manage different LDAP attributes and object classes. + This way you will be able to control both attribute sets + independently. + + To create a group please edit your server profile and switch to tab + "Module settings". You will see the section "Custom fields" which allows + you to add new groups. Now select your account type (e.g. Users) and + specify an alias for your group. This alias will be printed as group + header when you later edit an account in the admin interface. + + + + + + + + + + After you created your new group you can setup the managed object + classes. If you specify any object classes then you will later be able to + add/remove a complete set of attributes including their object + classes. + + Skipping the object classes field is only useful if you want to + manage some attributes that are not yet supported by LAM but there is + already a LAM module that manages the object class. + + + + + + + + + + The group may look like when you edit a user. + + + + + + + + + + + + + + + + + + Adding fields: + + Now you can add a new field that manages an LDAP attribute. Simply + fill the fields and press on "Add". + + Please note that the field name cannot be changed later. It is the + unique ID for this field. + + + + + + + + + + Examples for fields and their representation: + + Text field: + + Text fields allow to specify a validation + expression and error message. + + You can also enable auto-completion. In this case LAM will search + all accounts for the given attribute and provide auto-completion hints + when the user edits this field. This should only be used if there is a + limited number of different values for this attribute. + + In case your field is a date value you can show a calendar for easy + editing. + + Example calendar formats: + + + + dd.mm.yy: 31.12.2016 + + + + yy-mm-dd: 2016-12-31 + + + + d M, y: 31 Dec, 16 + + + + d MM, y: 31 December, 2016 + + + + + + + + + + + + Presentation: + + + + + + + + + + Password field: + + You can also manage custom password fields. LAM Pro will display two + fields where the user must enter the same password. You can hash the + password if needed. + + + + + + + + + + Presentation: + + + + + + + + + + Text area: + + This adds a multi-line field. The options are similar to text + fields. Additionally, you can set the size with the number of columns and + rows. + + Please note that the validation + expression should be set to multi-line. This is done by adding "m" + at the end. + + + + + + + + + + Presentation: + + + + + + + + + + Checkbox: + + Sometimes you may want to allow only yes/no values for your LDAP + attributes. This can be represented by a checkbox. You can specify the + values for checked and unchecked. The default value is set if the LDAP + attribute has no value. + + + + + + + + + + Presentation: + + + + + + + + + + Radio buttons: + + This displays a list of radio buttons where the user can select one + value. + + You can specify a mapping of LDAP attribute values and their display + (label) on the Self Service page. To add more mapping fields please press + "Add more mapping fields". + + + + + + + + + + Presentation: + + + + + + + + + + Select list: + + Select lists allow the user to select a value in a large list of + options. The definition of the possible values and their display is + similar to radio buttons. + + You can also allow multiple values. + + + + + + + + + + Presentation: + + + + + + + + + + + + + + + + + + Validation expressions: + + The validation expressions follow the standard of Perl regular + expressions. They start and end with a "/". The beginning of a + line is specified by "^" and the end by "$". + + Examples: + + /^[a-z0-9]+$/ allows small letters and numbers. The value must not + be empty ("+"). + + /^[a-z0-9]+$/i allows small and capital letters ("i" at the end + means ignore case) and numbers. The value must not be empty ("+"). + + Special characters that must be escaped with "\": "\", ".", "(", + ")" + + E.g. /^[a-z0-9\.]$/i + + - File upload: + File upload: - This is used for binary data. You can restrict uploaded data to a - given file extension and set the maximum file size. - - - - - - - - + This is used for binary data. You can restrict uploaded data to a + given file extension and set the maximum file size. - Presentation: + + + + + + + - The uploaded data may also be downloaded via LAM. + Presentation: - - - - - - - -
+ The uploaded data may also be downloaded via LAM. -
- Custom scripts (LAM Pro) + + + + + + + +
- LAM Pro allows you to execute scripts whenever an account is - created, modified or deleted. This can be useful to automate processes - which needed manual work afterwards (e.g. sending your user a welcome - mail or register a mailbox). Additionally, you can specify manual scipts - that can be executed from within LAM Pro. +
+ Custom scripts (LAM Pro) - To activate this feature please add the "Custom scripts" module to - all needed account types on the configuration pages. + LAM Pro allows you to execute scripts whenever an account is + created, modified or deleted. This can be useful to automate processes + which needed manual work afterwards (e.g. sending your user a welcome mail + or register a mailbox). Additionally, you can specify manual scipts that + can be executed from within LAM Pro. - - - - - - - - - In "Module settings" you can specify multiple scripts for each - action type (e.g. modify) and account type (e.g. user). The scripts need - to be located on the filesystem of your webserver and will be executed - in its user environment. E.g. if you webserver runs as user www-data - with the group www-data then the custom scripts will be run under this - user with his rights. The output of the scripts will be shown in - LAM. - - You can specify the scripts on the LAM configuration pages. - - - - - - - - - - Syntax: - - Please enter one script per line. Each line has the following - format: <account type> <action> <script> - - E.g.: user preModify /usr/bin/myCustomScript -u $uid$ - - Account types: - - You can setup scripts for all available account types (e.g. user, - group, host, ...). Please see the help on the configuration page about - your current active account types. - - Actions: - - - Action types - - - - - Action name - - Description - - - - preCreate - - Executed before creating a new account (cancels operation - if a script returns an exit code > 0, not available for file - upload) - - - - postCreate - - Executed after creating a new account (does not run if preCreate or LDAP operations - fail) - - - - preModify - - Executed before an account is modified (cancels operation - if a script returns an exit code > 0) - - - - postModify - - Executed after an account was modified (does not run if preModify or LDAP operations - fail) - - - - preDelete - - Executed before an account is modified (cancels operation - if a script returns an exit code > 0) - - - - postDelete - - Executed after an account was modified (does not run if preDelete or LDAP operations - fail) - - - - manual - - Can be run manually on account page. If you add - LAMLABEL="text" before the command then LAM will use the text as - label for the button in account edit screen. - - - -
- - Script: - - You can execute any script which is located on the filesystem of - your webserver. The path may be absolute or relative to the - PATH-variable of the environment of your webserver process. It is also - possible to add commandline arguments to your scripts. Additionally, LAM - will resolve wildcards to LDAP attributes. If your script includes an - wildcard in the format $ATTRIBUTE$ then LAM will replace it with the - attribute value of the current LDAP entry. The values of multi-value - attributes are separated by commas. E.g. if you create an account with - the attribute "uid" and value "steve" then LAM will resolve "$uid$" to - "steve". - - Please note that manual scripts can only use the current LDAP - attribute values of the account. Any modifications done that are not - saved will not be available. Manual scripts are also not available for - new accounts that are not yet saved to LDAP. - - You can switch LAM's logging to debug mode if you are unsure which - attributes with which values are available. - - The following special wildcards are available for automatical - scripts: - - - - $INFO.userPasswordClearText$: - cleartext password when Unix/Windows password is changed (e.g. - useful for external password synchronisation) for new/modified - accounts - - - - $INFO.userPasswordStatusChange$: provides - additional information if the Personal/Unix password locking status - was changed, possible values: locked, unlocked, unchanged - - - - $INFO.passwordSelfResetAnswerClearText$: - cleartext answer to security question - - - - $INFO.389lockingStatusChange$: for 389ds - account locking, provides information if account was unlocked. - Possible values: unchanged, unlocked - - - - $INFO.389deactivationStatusChange$: for 389ds - account locking, provides information if account was deactivated. - Possible values: unchanged, activated, deactivated - - - - $NEW.<attribute>$: the - value of a new attribute (e.g. $NEW.telephoneNumber$) for modified - accounts - - - - $DEL.<attribute>$: the - value of a deleted attribute (e.g. $DEL.telephoneNumber$) for - modified accounts - - - - $MOD.<attribute>$: the - new value of a modified attribute (e.g. $MOD.telephoneNumber$) for - modified accounts - - - - $ORIG.<attribute>$: the - original value of an attribute (e.g. $ORIG.telephoneNumber$) for - modified accounts - - - - Output may contain HTML: If your - scripts generate HTML output then activate this option. - - Hide command in messages: You may - want to prevent that your users see the executed commands. In this case - activating this option will only show the command output but not the - command itself. - - - - You can see a preview of the commands which will be automatically - executed on the "Custom scripts" tab. Here you can also run the manual - scripts. - - - - - - - - -
- -
- Sudo roles (LAM Pro) - - You can manage your sudo roles in LDAP if you have installed the - sudo-ldap package or compiled sudo with LDAP - support. - - To activate sudo management in LAM Pro edit your server profile - and add the type "Sudo roles". - - - - - - - - - - - - - - - - - - Now you can create sudo commands. - - - - - - - - - - The sudo roles in LDAP work similar to those in /etc/sudoers. You - can specify who may run which commands as which user. It is also - possible to specify options like NOPASSWD. -
- -
- LDAP views based on nsview (LAM Pro) - - LAM Pro supports LDAP views based on the "nsview" object class. - These views allow to create an organizational unit that shows a subset - of your LDAP content. The subset is determined by an LDAP filter. - - Configuration: - - To activate view management in LAM Pro edit your server profile - and add the type "LDAP views". - - - - - - - - - - - - - - - - - - Now you are ready to create your views. Each view has a name, LDAP - filter and an optional description. - - - - - - - - - - - - - - - - -
- -
- General information - - This module is available for all account types. It shows some - internal information about the LDAP entries like the creation time and - who modified the entry. - - If you use the "memberOf" overlay in OpenLDAP then this will also - show group memberships done by the overlay. - - - - - - - - -
- -
- Tree view (LDAP browser) - - The tree view provides a raw view on your LDAP directory. This - feature is for people who are experienced with LDAP and need special - functionality which the LAM account modules not provide. E.g. if you - want to add a special object class to an account or edit attributes - ignoring LAM's syntax checks. - - - - - - - - - - There are also some special functions available: - - Export: This allows you to export - entries to a file (e.g. LDIF or CSV format). - - Show internal attributes: Shows - internal attributes of the current entry. This includes information - about the creator and creation time of the entry. -
- + To activate this feature please add the "Custom scripts" module to + all needed account types on the configuration pages. + + + + + + + + + + In "Module settings" you can specify multiple scripts for each + action type (e.g. modify) and account type (e.g. user). The scripts need + to be located on the filesystem of your webserver and will be executed in + its user environment. E.g. if you webserver runs as user www-data with the + group www-data then the custom scripts will be run under this user with + his rights. The output of the scripts will be shown in LAM. + + You can specify the scripts on the LAM configuration pages. + + + + + + + + + + Syntax: + + Please enter one script per line. Each line has the following + format: <account type> <action> <script> + + E.g.: user preModify /usr/bin/myCustomScript -u $uid$ + + Account types: + + You can setup scripts for all available account types (e.g. user, + group, host, ...). Please see the help on the configuration page about + your current active account types. + + Actions: + + + Action types + + + + + Action name + + Description + + + + preCreate + + Executed before creating a new account (cancels operation + if a script returns an exit code > 0, not available for file + upload) + + + + postCreate + + Executed after creating a new account (does not run if preCreate or LDAP operations + fail) + + + + preModify + + Executed before an account is modified (cancels operation + if a script returns an exit code > 0) + + + + postModify + + Executed after an account was modified (does not run if preModify or LDAP operations + fail) + + + + preDelete + + Executed before an account is modified (cancels operation + if a script returns an exit code > 0) + + + + postDelete + + Executed after an account was modified (does not run if preDelete or LDAP operations + fail) + + + + manual + + Can be run manually on account page. If you add + LAMLABEL="text" before the command then LAM will use the text as + label for the button in account edit screen. + + + +
+ + Script: + + You can execute any script which is located on the filesystem of + your webserver. The path may be absolute or relative to the PATH-variable + of the environment of your webserver process. It is also possible to add + commandline arguments to your scripts. Additionally, LAM will resolve + wildcards to LDAP attributes. If your script includes an wildcard in the + format $ATTRIBUTE$ then LAM will replace it with the attribute value of + the current LDAP entry. The values of multi-value attributes are separated + by commas. E.g. if you create an account with the attribute "uid" and + value "steve" then LAM will resolve "$uid$" to "steve". + + Please note that manual scripts can only use the current LDAP + attribute values of the account. Any modifications done that are not saved + will not be available. Manual scripts are also not available for new + accounts that are not yet saved to LDAP. + + You can switch LAM's logging to debug mode if you are unsure which + attributes with which values are available. + + The following special wildcards are available for automatical + scripts: + + + + $INFO.userPasswordClearText$: + cleartext password when Unix/Windows password is changed (e.g. useful + for external password synchronisation) for new/modified + accounts + + + + $INFO.userPasswordStatusChange$: provides + additional information if the Personal/Unix password locking status + was changed, possible values: locked, unlocked, unchanged + + + + $INFO.passwordSelfResetAnswerClearText$: + cleartext answer to security question + + + + $INFO.389lockingStatusChange$: + for 389ds account locking, provides information if account was + unlocked. Possible values: unchanged, unlocked + + + + $INFO.389deactivationStatusChange$: for 389ds + account locking, provides information if account was deactivated. + Possible values: unchanged, activated, deactivated + + + + $NEW.<attribute>$: the + value of a new attribute (e.g. $NEW.telephoneNumber$) for modified + accounts + + + + $DEL.<attribute>$: the + value of a deleted attribute (e.g. $DEL.telephoneNumber$) for modified + accounts + + + + $MOD.<attribute>$: the + new value of a modified attribute (e.g. $MOD.telephoneNumber$) for + modified accounts + + + + $ORIG.<attribute>$: the + original value of an attribute (e.g. $ORIG.telephoneNumber$) for + modified accounts + + + + Output may contain HTML: If your + scripts generate HTML output then activate this option. + + Hide command in messages: You may + want to prevent that your users see the executed commands. In this case + activating this option will only show the command output but not the + command itself. + + + + You can see a preview of the commands which will be automatically + executed on the "Custom scripts" tab. Here you can also run the manual + scripts. + + + + + + + + +
+ +
+ Sudo roles (LAM Pro) + + You can manage your sudo roles in LDAP if you have installed the + sudo-ldap package or compiled sudo with LDAP + support. + + To activate sudo management in LAM Pro edit your server profile and + add the type "Sudo roles". + + + + + + + + + + + + + + + + + + Now you can create sudo commands. + + + + + + + + + + The sudo roles in LDAP work similar to those in /etc/sudoers. You + can specify who may run which commands as which user. It is also possible + to specify options like NOPASSWD. +
+ +
+ LDAP views based on nsview (LAM Pro) + + LAM Pro supports LDAP views based on the "nsview" object class. + These views allow to create an organizational unit that shows a subset of + your LDAP content. The subset is determined by an LDAP filter. + + Configuration: + + To activate view management in LAM Pro edit your server profile and + add the type "LDAP views". + + + + + + + + + + + + + + + + + + Now you are ready to create your views. Each view has a name, LDAP + filter and an optional description. + + + + + + + + + + + + + + + + +
+ +
+ General information + + This module is available for all account types. It shows some + internal information about the LDAP entries like the creation time and who + modified the entry. + + If you use the "memberOf" overlay in OpenLDAP then this will also + show group memberships done by the overlay. + + + + + + + + +
+ +
+ Tree view (LDAP browser) + + The tree view provides a raw view on your LDAP directory. This + feature is for people who are experienced with LDAP and need special + functionality which the LAM account modules not provide. E.g. if you want + to add a special object class to an account or edit attributes ignoring + LAM's syntax checks. + + + + + + + + + + There are also some special functions available: + + Export: This allows you to export + entries to a file (e.g. LDIF or CSV format). + + Show internal attributes: Shows + internal attributes of the current entry. This includes information about + the creator and creation time of the entry. +
+ diff --git a/lam/docs/manual-sources/chapter-selfService.xml b/lam/docs/manual-sources/chapter-selfService.xml index cab0d870..1db39f42 100644 --- a/lam/docs/manual-sources/chapter-selfService.xml +++ b/lam/docs/manual-sources/chapter-selfService.xml @@ -750,6 +750,24 @@ each time the Windows password is changed. + + + + + + Kopano + + "Send as" privileges + + Define user who may send mails as this user + + + + Email aliases + + Email aliases + + diff --git a/lam/docs/manual-sources/images/mod_kopano1.png b/lam/docs/manual-sources/images/mod_kopano1.png new file mode 100644 index 0000000000000000000000000000000000000000..adf795b5e4f6afec06ec4a64cde65af3c1085466 GIT binary patch literal 4043 zcmbU^2Uio!vOz>4^eVj*s!>2el8-7#3pEfB2q2+I6X_iUA}w@82u&%WN)bdMG*JO* zBGQ{^Ku}6(QEK4E@4fp6?m4?VyL)DKXJ>X=lBuySBajye000>E^|Z|afD4M0xdiP6 z%6Loo96|xq{#yDLw6wJI-%Y+zmUIvG?)n1&EQORFNLB6Ymk9tcKhW3KvDe%=bu&nRswuQQ<)hpb z#Ew;1AOhR^G}(+(FXp<7WD2xL{-RZwnx&-Z zRHgQwLixPL{P0F2D$!b+OY9|gl8^dGbocJhZ4Y~QcOBp6%c=3m_9Y8bX_+bx;b_fW6%n3i{=Kc=;C1v=7`MoT;;gf#N$}X9G|im_`5JM;MA` zzFt54&G#pw^L`MNW98gH>e=&50>3{%TNYgXWpxQeQu1@C4Vz;WF!J z76%I-cn*{g@!D;UEIGYRq0e1xzZ|f|#li-WRX*X`4aJII!wHr|N1A9BHeJV+d*>6 z>N||oRpB2md{G|T0gsBJ9%%UT&G^};1)=V<(X1EVwkQe%rRS0Jtqwt~OP}%Dqvfu< zu?g($;z{gjf>2vHJXnOR@h-+Ff$7;8ud^pyI6|o1asO!u76#@>M%0}J9w{`{J}H9C zN{Cn7xJkE*^z_7>@<|`Qu7Jm};QesIP(|O_FQZ)7jQ9}{Btxg+ zv9YIr`XoFBGBo^B=AN);8_&;JySjlu5?-@>!RS+cLzNse_CgFTv>cX`ariQ0^xPECQzWh z|DiiOeQK3tg_YtM%sVSo#7gLizERXt3ee7kgI7;kzi(@lb&gz(t*F?n0Ey%nFak+K zpI{&O*xBHH=!@66`|QAO1oXE!I?1HvwSE}tWnNH_Qa;5>hW=WKoAFlB-ZNi0uIv%l zk$j$`%~|>m^1=~DOqZc#+`UKhZ0*aR%o~ExD6rRp6ezpLS>fIL3k}F?6TGJfFXMn}#DVIQ;wF}(pnLBb6^)$X$e zZ$5;F|3-LE;6wBXW(8teALnZiM&3ciGlkLO3e~26eKGJc+joCWWSGuzd}&~AO_MYm zL$+hy#rMh?{9;0NBfqxmeP3E<<>TVat7%IvGs~QimRb9``S@7p1)y_T2Q)%YgYN~YE2}02e?LlOO>*}PC6&W9( zPfGd4zNy+eVnNsBVqnaB6WlAn;-S56+ zVSElu+ggwF{nxHpT384e&p{-^boNT>VGz;Qq#ZvYvmDpLcBPN((pkU-UtVZ) z3y7e3T@2_I*CYGKbm5Aicm~8gX2AJ|GKPl%6=5ar0s8cF=U&`sMc?#<+I-itBRt#j zM{+2wNSmGSfpPp?E^b{}u_ZEw%A=Cz`TEDPSIGA4)#2hB!_gTnEk8`p^*V|Sa85HD zLY$LIgzfZOI5vHpN7QoYR)P=&Ib>+E!Ny6e&CuuIo+WPle9Y#6E@fq4T7t$u4cpd+ z1+$w;J?V-JCvDB6h;DEoFc}fm&e{OWH)cFOnT^;_`Gz9!0Uw)}+z(Zj@BCJ<|9-HiCA0{{(U|}T+WejFJ z3TP3a7O-5K_BQvsv+5-*FK_;y{jC7s=c*4fKHulo(o4!Pk8xH=s#Z~alLtkJTB_bg ze<~6IH=ctURCrDVfrYOR#fpD|ai)xBuNGtbQFw+C&V?zvE_>A3%*HcA*FdjY#x z1(hJGst4vo#_kg8Os48#H1!*h`!;j4{8$*m5_!AuQ@UijY9ItI#W6YEJ@-;k z#ADscBf)b13itCM8$b;VX5EdH<-kbv_PRKLPd5b1Cep;3V#jA>Kn+` zq6Ec6?GaJ4{iN(Qq#gfm5N~R}@AoG2YB|bRL2h!@Wj4;rsdW>2F}e9o@E_kkmozoy z&rC|}R!J{2@&6;jku0bh*5tZnT(_I?&(Vs9M=`EwBq@)ZpQlH*!xDCOCdkwC*EV!? zax7$O>*}C+5BYa)hRo=PcIYo>(CbgMLLBcj)jDCyySN3HUXaRL!dvTAb(^l8t z`2zS4ufrxw12+yjB4!`mxF(4F*IiN)khz``>QDxFSZX@`tlsJGW{)<;R2@{H)2%Su z-|6&UIj*!yN3B#GJ~D!brA$jSD3wp%&%*&W2- z?B)}Ca%R{fpkB-m0f{>rllIieA^WTSY0S+0LV}6vq|`;O4^bt6@OE%~H0MrLWz+6DKvdPIv*1)${|ZW_6@mV9lQc(p^Qd_kFr2 zj0G>Gp_ca4VVnzcqCxs>l0+sUK1kMp^Wm}19itN&C#S}BoMcOIMm9wYU6@4$bywaT z1Kiks!(8oiQul#pOLIh<%)T$nUzu(Ylz-V?6emT5jHlw>C=1kGML>C@5;N}R*;Yh+G=eNrxa|X z)E$dtHt7P1!8;`#cS|*HEGKWW54nZ4Y?T8};}$zY-G1k9Nv64CJ2sItCFihyqIS;u zrnpP-XlClin%zB-$8i!P1F?iYoqD_B*?5B2ZRN5tgXs3Dkvl`%fdGId`6S#x+??QW zvi{EPBN|?LEwMK%KE7fxJc|<0=dVJ32Xu&B=)jbgnzz|~t!Y9pE3_hDp5Z~dSJG;e zSZh_C#)~MoiJ)ar+0b%EWZLW#<}v39+d HW9)wbWTCgp literal 0 HcmV?d00001 diff --git a/lam/docs/manual-sources/images/mod_kopanoContact1.png b/lam/docs/manual-sources/images/mod_kopanoContact1.png new file mode 100644 index 0000000000000000000000000000000000000000..b87af6fb9373abf9446229dda5b007a51784aa4d GIT binary patch literal 18564 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
4U3Vy@51_VY78>gy7KHI)$WUKVTGaV@bzV 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 literal 0 HcmV?d00001 diff --git a/lam/docs/manual-sources/images/mod_kopanoContact2.png b/lam/docs/manual-sources/images/mod_kopanoContact2.png new file mode 100644 index 0000000000000000000000000000000000000000..8e133d1513fa005ba45bf1952ce42c316791cadd GIT binary patch literal 39834 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 OJmcx==d#Wzp$P!S88h1e literal 0 HcmV?d00001 diff --git a/lam/docs/manual-sources/images/mod_kopanoContact3.png b/lam/docs/manual-sources/images/mod_kopanoContact3.png new file mode 100644 index 0000000000000000000000000000000000000000..4744a42c0782d6061ed41322d4c7c0c9eef3ca25 GIT binary patch literal 28539 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 GVQ+{XnE6l@< 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 literal 0 HcmV?d00001 diff --git a/lam/docs/manual-sources/images/mod_kopanoUser3.png b/lam/docs/manual-sources/images/mod_kopanoUser3.png new file mode 100644 index 0000000000000000000000000000000000000000..1251d56565418369a563283f74d596d9b74fd305 GIT binary patch literal 22118 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 USw*>NaKA$aw@h>^ZrFzZ2X-HZpa1{> literal 0 HcmV?d00001 diff --git a/lam/docs/manual-sources/images/mod_kopanoUser4.png b/lam/docs/manual-sources/images/mod_kopanoUser4.png new file mode 100644 index 0000000000000000000000000000000000000000..aa863276c84f6a8026bb91756842f77356af3427 GIT binary patch literal 56557 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 M=Dl$4E6p$e4@tycDgXcg literal 0 HcmV?d00001 diff --git a/lam/docs/manual-sources/images/schema_kopano.png b/lam/docs/manual-sources/images/schema_kopano.png new file mode 100644 index 0000000000000000000000000000000000000000..4c1e35d1fc929d990346b2205ad48e32c93b224a GIT binary patch literal 407 zcmV;I0cie-P)VGd000McNliru;RO&A2nM$Ah>gd2neZZ&TrcAPCu>_Sf%=3Cvm- z@y!eHb$U?D>J7Xb=aV=y>jMd3(C$lmt2otC2P?f7O{QH3o`09aob)vUy#RvQ$jmk> z!oU;db;*6`t&Phj4#ASrABaB1?o#1uOazd^A@B+W@YP8&9WjgHA8>L1{Sf>E_(xzf zIvaf?f69WHKLgwTZ5u1v`Y`29n#07BIG-$w^EU{7|28uj=9T~e002ovPDHLkV1oP5 BsHFe^ literal 0 HcmV?d00001 diff --git a/lam/docs/manual-sources/overview.xml b/lam/docs/manual-sources/overview.xml index 2e7ff1dc..60180fd4 100644 --- a/lam/docs/manual-sources/overview.xml +++ b/lam/docs/manual-sources/overview.xml @@ -8,7 +8,7 @@ LDAP directory. LAM runs on any webserver with PHP5 support and connects to your LDAP server unencrypted or via SSL/TLS. - LAM supports Samba 3/4, Unix, Zarafa, Kolab 2/3, address book entries, + LAM supports Samba 3/4, Unix, Kopano, Kolab 3, address book entries, NIS mail aliases, MAC addresses and much more. There is a tree viewer included to allow access to the raw LDAP attributes. You can use templates for account creation and use multiple configuration profiles. @@ -16,7 +16,7 @@ https://www.ldap-account-manager.org/ - Copyright (C) 2003 - 2016 Roland Gruber + Copyright (C) 2003 - 2017 Roland Gruber <post@rolandgruber.de> Key features: