diff --git a/README.md b/README.md index 5b5cb3a..1fef6b2 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,19 @@ # ldap-account-manager +LDAP Account Manager (LAM) is a webfrontend for managing accounts stored in an openLDAP server. + +Features: +- management of Unix user and group accounts (posixAccount/posixGroup) +- management of Samba 2.x/3 user and host accounts (sambaAccount/sambaSamAccount) +- profiles for account creation +- editor for organizational units (OU) +- account creation via file upload +- automatic creation/deletion of home directories +- setting quotas +- support for LDAP+SSL +- multi-language support (English, French, German, Hungarian, Japanese) +- multiple configuration files +- PDF output for user/group/host accounts +- additional text for user PDFs +- supports multiple password hashes + diff --git a/ldap-account-manager-3.3.0-default_user_profile.patch b/ldap-account-manager-3.3.0-default_user_profile.patch new file mode 100644 index 0000000..d22aa25 --- /dev/null +++ b/ldap-account-manager-3.3.0-default_user_profile.patch @@ -0,0 +1,22 @@ +diff -ru ldap-account-manager-3.3.0.orig//config/profiles/default.user ldap-account-manager-3.3.0/config/profiles/default.user +--- ldap-account-manager-3.3.0.orig//config/profiles/default.user 2011-02-12 16:36:45.000000000 +0100 ++++ ldap-account-manager-3.3.0/config/profiles/default.user 2011-04-11 18:53:18.187838979 +0200 +@@ -1,3 +1,4 @@ ++posixAccount_primaryGroup: Domain Users + shadowAccount_shadowWarning: 10 + shadowAccount_shadowInactive: 10 + shadowAccount_shadowMin: 1 +@@ -7,11 +8,12 @@ + sambaAccount_acctFlagsX: true + sambaAccount_acctFlagsD: false + sambaAccount_homeDrive: U: ++sambaSamAccount_logonScript: scripts/logon.bat + sambaSamAccount_useunixpwd: true + sambaSamAccount_sambaAcctFlagsN: false + sambaSamAccount_sambaAcctFlagsX: true + sambaSamAccount_sambaAcctFlagsD: false +-sambaSamAccount_sambaHomeDrive: U: ++sambaSamAccount_sambaHomeDrive: H: + sambaSamAccount_group: 513 + posixAccount_homeDirectory: /home/$user + posixAccount_loginShell: /bin/bash diff --git a/ldap-account-manager-3.3.0-installdirs.patch b/ldap-account-manager-3.3.0-installdirs.patch new file mode 100644 index 0000000..9f05b24 --- /dev/null +++ b/ldap-account-manager-3.3.0-installdirs.patch @@ -0,0 +1,24 @@ +--- ldap-account-manager-3.3.0.orig/Makefile.in 2011-02-12 16:36:45.000000000 +0100 ++++ ldap-account-manager-3.3.0/Makefile.in 2011-03-15 15:48:16.021819782 +0100 +@@ -24,7 +24,7 @@ + sysconfdir=@sysconfdir@ + localstatedir=@localstatedir@ + mandir=@mandir@ +-htmldir=@prefix@/html ++htmldir=@datadir@/doc/html/lam + web_root=@WEB_ROOT@ + + srcdir=@srcdir@ +@@ -73,9 +73,9 @@ + (cd $(DESTDIR)$(sysconfdir) ; $(TAR) xf -) ; \ + $(LN_S) $(sysconfdir) ${LIST3} ; \ + (cd $(srcdir) ; $(TAR) cf - $(LIST1)) | $(TAR) xf - ; \ +- [ -d $(DESTDIR)$(prefix)/docs ] || \ +- $(MKDIR) -p $(DESTDIR)$(prefix)/docs || exit 1 ; \ +- (cd $(srcdir) ; $(COPY) $(DOCS) $(DESTDIR)$(prefix)/docs) ; \ ++ [ -d $(DESTDIR)$(htmldir) ] || \ ++ $(MKDIR) -p $(DESTDIR)$(htmldir) || exit 1 ; \ ++ (cd $(srcdir) ; $(COPY) $(DOCS) $(DESTDIR)$(htmldir)) ; \ + $(PERL) -pi -e "s~/usr/bin/perl~$(PERL)~" \ + $(DESTDIR)$(web_root)/lib/lamdaemon.pl ; \ + cd $${HERE} ; \ diff --git a/ldap-account-manager-3.3.0-sync_ldap_names_with_smbldaptools.patch b/ldap-account-manager-3.3.0-sync_ldap_names_with_smbldaptools.patch new file mode 100644 index 0000000..9c79db1 --- /dev/null +++ b/ldap-account-manager-3.3.0-sync_ldap_names_with_smbldaptools.patch @@ -0,0 +1,22 @@ +diff -Nru ldap-account-manager-3.3.0.orig//config/lam.conf_sample ldap-account-manager-3.3.0/config/lam.conf_sample +--- ldap-account-manager-3.3.0.orig//config/lam.conf_sample 2011-02-12 16:36:45.000000000 +0100 ++++ ldap-account-manager-3.3.0/config/lam.conf_sample 2011-03-15 18:18:08.370038495 +0100 +@@ -52,15 +52,15 @@ + activeTypes: user,group,host,smbDomain + + +-types: suffix_user: ou=People,dc=my-domain,dc=com ++types: suffix_user: ou=People,dc=my-domain,dc=com + types: attr_user: #uid;#givenName;#sn;#uidNumber;#gidNumber + types: modules_user: inetOrgPerson,posixAccount,shadowAccount,sambaSamAccount + +-types: suffix_group: ou=group,dc=my-domain,dc=com ++types: suffix_group: ou=Groups,dc=my-domain,dc=com + types: attr_group: #cn;#gidNumber;#memberUID;#description + types: modules_group: posixGroup,sambaGroupMapping + +-types: suffix_host: ou=machines,dc=my-domain,dc=com ++types: suffix_host: ou=Computers,dc=my-domain,dc=com + types: attr_host: #cn;#description;#uidNumber;#gidNumber + types: modules_host: account,posixAccount,sambaSamAccount + diff --git a/ldap-account-manager.spec b/ldap-account-manager.spec new file mode 100644 index 0000000..e67d4bb --- /dev/null +++ b/ldap-account-manager.spec @@ -0,0 +1,245 @@ +%define serverdir %(apxs -q htdocsdir 2>/dev/null) + +# To create a customized installation of bbPress: +# autospec -u magento -a5 \ +# -d "installdir=%serverdir/../www.example.com, \ +# sitename=example, \ +# adminmail=webmaster@example.com" + +%if "%{?installdir}" == "" + %define installdir %{serverdir}/lam +%endif + +%if "%{?sitename}" != "" + %if "%{?servername}" == "" + %define servername %(basename %installdir 2>/dev/null) + %endif + %define serverlogdir %(apxs -q logfiledir 2>/dev/null) +%else + %if "%{?aliasdir}" == "" + %define aliasdir /lam + %endif +%endif + +#% define rcver_append .RC1 +Name: ldap-account-manager +Version: 3.9 +Release: 2mamba +Summary: A webfrontend for managing accounts stored in an openLDAP server. +Group: Applications/Web +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://lam.sourceforge.net/ +Source: http://downloads.sourceforge.net/sourceforge/lam/ldap-account-manager-%{version}%{?rcver_append}.tar.gz +Patch0: %{name}-3.3.0-installdirs.patch +Patch1: %{name}-3.3.0-sync_ldap_names_with_smbldaptools.patch +Patch2: %{name}-3.3.0-default_user_profile.patch +License: GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: perl-devel +## AUTOBUILDREQ-END +BuildRequires: apache +Requires: apache >= 2.0.48 +Requires(post):apache-mod_php +Requires(post):openldap-server +Requires: php >= 4.3.6 +Requires: php-ldap >= 4.3.6 +#Requires: ldap-scripts +Provides: lam +Obsoletes: lam +BuildRoot: %{_tmppath}/%{name}-%{version}-root +BuildArch: noarch + +%description +LDAP Account Manager (LAM) is a webfrontend for managing accounts stored in an openLDAP server. + +Features: +- management of Unix user and group accounts (posixAccount/posixGroup) +- management of Samba 2.x/3 user and host accounts (sambaAccount/sambaSamAccount) +- profiles for account creation +- editor for organizational units (OU) +- account creation via file upload +- automatic creation/deletion of home directories +- setting quotas +- support for LDAP+SSL +- multi-language support (English, French, German, Hungarian, Japanese) +- multiple configuration files +- PDF output for user/group/host accounts +- additional text for user PDFs +- supports multiple password hashes + +%prep +%setup -q -n ldap-account-manager-%{version}%{?rcver_append} +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 + +%build +%configure \ + --sysconfdir=%{_sysconfdir}/lam \ + --localstatedir=%{_localstatedir}/lam \ + --htmldir=%{_docdir}/html/lam \ + --with-httpd-user=httpd \ + --with-httpd-group=nobody \ + --with-web-root=%{installdir} + +%make + +%install +%makeinstall +#mkdir -p %{buildroot}/var/www/html/lam +#install -m 0644 index.html %{buildroot}/var/www/html/lam +#cp -R config lib sess tmp graphics locale style help templates %{buildroot}/var/www/html/lam +mv %{buildroot}%{_sysconfdir}/lam/config.cfg_sample %{buildroot}%{_sysconfdir}/lam/config.cfg +mv %{buildroot}%{_sysconfdir}/lam/lam.conf_sample %{buildroot}%{_sysconfdir}/lam/lam.conf + +mkdir -p %{buildroot}%{_datadir}/applications +cat > %{buildroot}%{_datadir}/applications/lam.desktop << EOF +[Desktop Entry] +Name=LDAP Account Manager +Comment=LDAP Account Manager +Exec=konqueror http://localhost/lam +Type=Application +Terminal=0 +Icon=personal +Categories=Application;System; +EOF + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post +if [ $1 -eq 1 ]; then +# new install + [ -e %{_sysconfdir}/openldap/slapd.conf ] && { + eval suffix=`grep ^suffix %{_sysconfdir}/openldap/slapd.conf | awk '{ print $2 }'` + eval rootdn=`grep ^rootdn %{_sysconfdir}/openldap/slapd.conf | awk '{ print $2 }'` + } + [ "$suffix" -a "$rootdn" ] && { + sed -i "s|cn=Manager,dc=my-domain,dc=com|$rootdn| + s|#treesuffix: dc=yourdomain,dc=org|treesuffix: $suffix| + s|dc=my-domain,dc=com|$suffix|" \ + %{_sysconfdir}/lam/lam.conf + } +# RANDOM_PASSWD=`%{_bindir}/mkpasswd -l 8 -s 0` +# sed -i "s|^passwd: lam|passwd: $RANDOM_PASSWD|" \ +# %{_localstatedir}/www/html/lam/config/lam.conf +fi +: + +%files +%defattr(-,root,root) +%dir %{_sysconfdir}/lam +%config(noreplace) %{_sysconfdir}/lam/config.cfg +%config(noreplace) %{_sysconfdir}/lam/lam.conf +%dir %{_sysconfdir}/lam/selfService +%{_sysconfdir}/lam/selfService/.htaccess +%{_sysconfdir}/lam/selfService/* +%dir %{_sysconfdir}/lam/language +%dir %{_sysconfdir}/lam/pdf +%{_sysconfdir}/lam/pdf/.htaccess +%{_sysconfdir}/lam/pdf/* +%attr(0755,apache,apache) %dir %{_sysconfdir}/lam/profiles +%{_sysconfdir}/lam/profiles/.htaccess +%config(noreplace) %attr(0755,apache,apache) %{_sysconfdir}/lam/profiles/* +%dir %{_sysconfdir}/lam/shells +%{_sysconfdir}/lam/.htaccess +#%{_sysconfdir}/lam/passwordMailTemplate.txt +%dir %attr(0755,apache,apache) %{installdir} +%{installdir}/index.html +%{installdir}/config +%dir %attr(0755,apache,apache) %{installdir}/lib +%{installdir}/lib/.htaccess +%{installdir}/lib/* +%dir %attr(0755,apache,apache) %{installdir}/graphics +%{installdir}/graphics/.htaccess +%{installdir}/graphics/* +%dir %attr(0755,apache,apache) %{installdir}/help +%{installdir}/help/.htaccess +%{installdir}/help/* +%dir %attr(0755,apache,apache) %{installdir}/locale +%{installdir}/locale/.htaccess +%{installdir}/locale/*/LC_MESSAGES/messages.* +%{installdir}/sess +%dir %attr(0755,apache,apache) %{installdir}/style +%{installdir}/style/.htaccess +%{installdir}/style/* +%dir %attr(0755,apache,apache) %{installdir}/templates +%{installdir}/templates/.htaccess +%{installdir}/templates/* +%{installdir}/tmp +%{installdir}/VERSION +%{_datadir}/applications/lam.desktop +%attr(0750,apache,nobody) %{_localstatedir}/lam/sess +%attr(0750,apache,nobody) %{_localstatedir}/lam/tmp +%dir %{_docdir}/html/lam +%{_docdir}/html/lam/* +%doc COPYING +#HISTORY README + +%changelog +* Wed Feb 06 2013 Silvan Calarco 3.9-2mamba +- fix apxs path + +* Fri Oct 12 2012 Automatic Build System 3.9-1mamba +- automatic version update by autodist + +* Thu Aug 16 2012 Automatic Build System 3.8-1mamba +- automatic version update by autodist + +* Sat Jul 07 2012 Automatic Build System 3.7-1mamba +- automatic version update by autodist + +* Mon Apr 11 2011 Silvan Calarco 3.3.0-4mamba +- modify defaul user profile to comply with smaba and smbldap-tools configuration +- set /etc/lam/profiles permission to allow profile settings modification from web interface + +* Tue Mar 15 2011 Silvan Calarco 3.3.0-3mamba +- renamed from lam to ldap-account-manager +- install using provided configure/make + +* Thu Mar 10 2011 Silvan Calarco 3.3.0-2mamba +- added requirement for apache-mod_php + +* Thu Feb 17 2011 Automatic Build System 3.3.0-1mamba +- automatic update by autodist + +* Mon Nov 08 2010 Automatic Build System 3.2.0-1mamba +- automatic update by autodist + +* Mon Aug 09 2010 Automatic Build System 3.1.0-1mamba +- automatic update by autodist + +* Thu May 13 2010 Automatic Build System 3.0.0-1mamba +- automatic update by autodist + +* Wed Jul 01 2009 Automatic Build System 2.6.0-1mamba +- automatic update by autodist + +* Sun Mar 15 2009 Silvan Calarco 2.5.0-1mamba +- automatic update by autodist + +* Tue Dec 02 2008 Silvan Calarco 2.4.0-1mamba +- update to 2.4.0 + +* Thu Jan 17 2008 Silvan Calarco 2.2.0-1mamba +- update to 2.2.0 +- removed uppercase patch (note: needs to be rechecked) +- build as noarch + +* Wed Jul 14 2004 Silvan Calarco 0.4.6-3qilnx +- added a patch to make general_dn check case insensitive + +* Tue Jul 13 2004 Silvan Calarco 0.4.6-2qilnx +- changed defaults for lam.conf + +* Fri Jul 02 2004 Silvan Calarco 0.4.6-1qilnx +- new version build + +* Tue May 25 2004 Silvan Calarco 0.4.5-2qilnx +- added KDE menu entry +- fixed lam.conf with QiLinux default limits for UID and GID + +* Wed May 06 2004 Silvan Calarco 0.4.5-1qilnx +- first build