Home > smegdap

smegdap

Smegdap is a project mainly written in JAVASCRIPT and PERL, it's free.

ldap group manager for enterprise systems

Building Prerequisites on debian 5.0.7 (lenny)

apt-get install -y dh-make-perl                                            
                   libcatalyst-perl libcatalyst-modules-perl               
                   libcatalyst-modules-extra-perl                          
                   libnet-ldap-perl libnet-ldap-server-perl                
                   libconvert-asn1-perl libmoose-perl                      
                   libcatalyst-plugin-requiressl-perl                      
                   libcatalyst-authentication-store-ldap-perl              
                   libio-socket-ssl-perl

################################################################################ wget -O Catalyst-Model-LDAP-0.17.tar.gz http://search.cpan.org/CPAN/authors/id/D/DA/DANIELTWC/Catalyst-Model-LDAP-0.17.tar.gz tar xvzf Catalyst-Model-LDAP-0.17.tar.gz (cd Catalyst-Model-LDAP-0.17; dh-make-perl) (cd Catalyst-Model-LDAP-0.17; debian/rules binary) dpkg -i libcatalyst-model-ldap-perl_0.17-1_all.deb ################################################################################

git clone git://github.com/fapestniegd/smegdap.git smegdap/bin/local_config # <-- parse /etc/ldap/ldap.conf and write authconfig.yaml smegdap/script/smegdap_server.pl #<-- run on prort 3000 (no ssl)

################################################################################

apache with ssl: (so you're not passing ldap credentials in the clear)

################################################################################ apt-get install -y apache2-mpm-prefork libapache2-mod-perl2 libcatalyst-engine-apache-perl perlmagick libcatalyst-modules-extra-perl libcatalyst-modules-perl libcatalyst-perl libcatalyst-plugin-session-fastmmap-perl libcatalyst-view-tt-perl libhtml-prototype-perl (cd /etc/apache2/sites-enabled; ln -s ../sites-available/default-ssl 001-ssl) (cd /etc/apache2/mods-enabled; ln -s ../mods-available/ssl.load) (cd /etc/apache2/mods-enabled; ln -s ../mods-available/ssl.conf)

cat</etc/apache2/conf.d/smegdap PerlSwitches -I/var/cache/git/smegdap/lib PerlModule smegdap

<Location /smegdap>
    SetHandler          modperl
    PerlResponseHandler smegdap
</Location>

</VirtualHost..>

EOF mkdir -p /var/www/smegdap /etc/init.d/apache2 restart

################################################################################

Thoughts

################################################################################

Layout ## Menu Options

  • Connections -> create connection, folder | + Group -> create connection, folder | | + Group -> create connection, folder | | | . Server0 -> edit attributes | | + Server1 -> edit attributes | + ServerN -> edit attributes | + dc=example,dc=org -> edit attributes, ACLs | | + ou=Group -> edit attributes | | | + cn=video -> edit attributes | | + ou=Hosts -> edit attributes | | + ou=People -> edit attributes | | | + uid=username -> edit attributes | | + ou=Sets -> edit attributes | | + ou=Special -> edit attributes | | + dc=sub -> edit attributes, ACLs | | + ou=Group -> edit attributes | | | + cn=video -> edit attributes | | + ou=Hosts -> edit attributes | | + ou=People -> edit attributes | | | + uid=username -> edit attributes | | + ou=Sets -> edit attributes | | + ou=Special -> edit attributes | | + dc=sub -> edit attributes, ACLs | | + ...etc | + dc=example,dc=com -> edit attributes, ACLs | + dc=example,dc=net -> edit attributes, ACLs
  • Logout

All:

"login" view

"create account" view that creates => cn=,ou=accounts,${basedn} && send verify email link; verified=0; timecreated=now;

Free LDAP Hosting:

"verify email link" view that creates => dc=,${basedn} and ou=Administrators,dc=${basedn} default ACL gives cn=,ou=accounts,${basedn} write on dc=,${basedn} scope sub

now the user (if skilled can jsut fire up any ldap client and start adding sub-dns

but, for the novice:

"create domain" view that creates => cn=,ou=Administrators,dc=${basedn}

ACLs set up so any member of cn=,ou=Administrators,dc=${basedn}

                                    # may write dc=<domain>,dc=<userid>,${basedn}
                                    dc=<domain>,dc=<userid>,${basedn} 
                                      + ou=Aliases
                                      + ou=DNS
                                      + ou=Group
                                      + ou=Hosts
                                      + ou=Networks
                                      + ou=People
                                      + ou=Sets
                                      + ou=Special
                                      + ou=sudoers

Premium LDAP Hosting $(14.95/mo)

"verify email link": "verifies payment" prompts for basedn, sees if it's available,

view that creates => dc=,${basedn} and ou=Administrators,dc=${basedn} default ACL gives cn=,ou=accounts,${basedn} write on dc=,${basedn} scope sub

now the user (if skilled can jsut fire up any ldap client and start adding sub-dns

Previous:feedadmin