Update README

This commit is contained in:
Lars Kanis 2011-07-13 14:59:55 +02:00
parent 321781679d
commit e5a392dfd6

View File

@ -11,25 +11,21 @@ However, for any method the user must already exist in the database,
before the authentication can be used. There is currently before the authentication can be used. There is currently
no authorization of database users directly based on LDAP. no authorization of database users directly based on LDAP.
This program solves the issue by synchronizing users, groups and This program helps to solve the issue by synchronizing users,
memberships from LDAP to PostgreSQL. groups and their memberships from LDAP to PostgreSQL.
Access to LDAP is read-only. <tt>pg_ldap_sync</tt> issues proper
CREATE ROLE, DROP ROLE, GRANT and REVOKE commands to synchronize
users and groups.
It is meant to be started as a cron job. It is meant to be started as a cron job.
== FEATURES/PROBLEMS: == FEATURES:
* Configurable per YAML config file * Configurable per YAML config file
* Use Active Directory as LDAP-Server * Can use Active Directory as LDAP-Server
* Nested groups/roles supported
* Runs with pg.gem (C-library) or postgres-pr.gem (pure Ruby) * Runs with pg.gem (C-library) or postgres-pr.gem (pure Ruby)
* Should run on any platform when using postgres-pr.gem * Test mode which doesn't do any changes to the DBMS
* There is currently no way to set certain user attributes in PG
based on individual attributes in LDAP
== SYNOPSIS:
Create a config file based on <tt>config/sample-config.yaml</tt> .
pg_ldap_sync -c my_config.yaml -vv -t
== REQUIREMENTS: == REQUIREMENTS:
@ -40,18 +36,32 @@ Create a config file based on <tt>config/sample-config.yaml</tt> .
Install Ruby and rubygems: Install Ruby and rubygems:
* on Windows: http://rubyinstaller.org * on Windows: http://rubyinstaller.org
* on Debian: <tt>apt-get install ruby rubygems</tt> * on Debian/Ubuntu: <tt>apt-get install ruby rubygems</tt>
Install pg-ldap-sync and a database driver for PostgreSQL: Install pg-ldap-sync and a database connector for PostgreSQL:
* <tt>gem install pg-ldap-sync pg</tt> gem install pg-ldap-sync pg
* or <tt>gem install pg-ldap-sync postgres-pr</tt> for the You may also use the pure ruby postgres-connector which is less mature,
pure ruby version with less connection options than <tt>pg</tt> but doesn't need compilation:
gem install pg-ldap-sync postgres-pr
Or install from Git: === Install from Git:
git clone https://github.com/larskanis/pg-ldap-sync.git git clone https://github.com/larskanis/pg-ldap-sync.git
cd pg-ldap-sync cd pg-ldap-sync
gem install hoe
rake install_gem rake install_gem
== USAGE:
Create a config file based on <tt>config/sample-config.yaml</tt> .
Run in test-mode:
pg_ldap_sync -c my_config.yaml -vv -t
Run in modify-mode:
pg_ldap_sync -c my_config.yaml -vv
== TEST: == TEST:
There is a small test suite in the <tt>test</tt> directory that runs There is a small test suite in the <tt>test</tt> directory that runs
against an internal ruby-ldapserver and PostgreSQL server. Ensure gem against an internal ruby-ldapserver and PostgreSQL server. Ensure gem
@ -61,6 +71,10 @@ commands are in the <tt>PATH</tt>. Then:
cd pg-ldap-sync cd pg-ldap-sync
rake test rake test
== ISSUES:
* There is currently no way to set certain user attributes in PG
based on individual attributes in LDAP (expiration date etc.)
== LICENSE: == LICENSE: