# $Id$ =head1 NAME Link::Accounts - A multiple accounts base management and synchronisation system =head1 GENERALITY =head2 HISTORY Link::Accounts is born with the need to have same set of groups and users in multiples accounts bases: =over 4 =item OpenLDAP Standard ldap base w/o any change on basis schema =item Active Directory The domain management system for windows. Active Directory is a solution including LDAP, Kerberos, Smb protocol and a graphic interface to configure it. =item Unix file Standard users base under Unix system, also used for C/C system. =item Kerberos/Heimdal Remote access to Kerberos base. =back =head2 WORKFLOW C is made of three components: =over 4 =item L =item L =item L =back =head3 Bases A base module provide the common way to access a set of data. Usually a base is accessed remotely trought a network connection but always. In an ideal world, all base can be synchronised over another one. Each data inside a base is represented as objects of differents type. The most common type are for sure C and C. =head3 Objects Inside a base the objects is the unbreakble subset of data. Each object are identified uniquely by both a type and an identifier on the C side. This mean two object of different type can have the same id. On the other hand the identifier must allow to identify uniquelly the object inside the base. For example in C base each line of F is a C object and the login is the uniq identifier. The couple object type/identifier must also allow to find common objects through differents bases. =head3 Attributes The attributes is the basic data storage for an object. Each attribute have a name and normally a specific usage, even through base. Attributes may have different behavior, depending their definition and base constraint: =over 4 =item single or multiple value =item limited possible values =item reference to others objects =back =head1 CONFIGURATION All configuration files listed bellow must be stored in the same directory. By default this directory is F. It can be overload by setting envirronment variable C. =head2 Configuration files list =over 4 =item latmos-accounts.ini Bases and synchronisations definitions. See L =item la-allowed-values.ini Attributes values allowed. See L =item la-sync-manager.ini The setup of L, the daemon in charge of pushing values from primary base to others. See L =item la-acls.ini Access list configuration, used by Web application See L =item la-sync-list.ini Configuration of mailing synchronisation module See L =back =head1 TOOLS LIST The tools listed bellow are availlable to administrate the C system. They are low level tools and are designed to be used system administrator, not end user (unlike the web interface). =head2 Configuration Tools =over 4 =item la-config Display configuration information. L =item la-attributes Display supported object and attributes. L =item la-log-test Send message using log functions (for testing purpose) L =item la-acls Check validity of ACL file (eg L). See: L =item la-qacls Test ACLs permission for given user over given object. See: L =back =head2 Base Content Tools =over 4 =item la-cli Interactive command line interface, include online help, completion, etc... See L =item la-create Create an object into main base. See L =item la-delete Delete an object from main base See L =item la-edit Modify object into main base. See L =item L =item L =item L =item L =item L Change the password of users. =item L The basic tools to query any database =item L Allow to rename an object in all configured base simultaneously, then avoiding a deletion and a creation potentially destructive in some base. To use carrefully =item L Search object into base. =item L =item L =item L =item L =item L =back =head2 SQL Base Tools =head3 Common tools =over 4 =item L Return an unallocated IP address from the given DHCP zone. =back =head3 Maintenance tools =over 4 =item L =item L =item L =item L =item L =item L =item L =item L =item L =item L =back =head1 BUGS =head1 AUTHOR Olivier Thauvin