[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: AW: script for adding users information in ldap database

On Wed, Jul 16, 2008 at 5:15 PM, Kristen Walker <kwalker@sbceo.org> wrote:
> I have a question along similar lines.  We use Uportal and Moodle and I want
> to set up an LDAP server for those applications to authenticate users.  I
> want to take the users in the Uportal MySQL database and migrate them to an
> LDIF file.  Has anyone done this?  I am assuming I will have to write some
> sort of script to create the LDIF file.  Does anyone have an example of a
> script that does something similar?  Anything that involves getting data out
> of a MySQL database and creating an LDIF file with it would be really
> helpful.

mysql -u root -p -e 'select email, password from posta.users' | awk
'NR != 1 { printf "dn: uid=%s, dc=example\nobjectclass:
myObjectClass\nuserpassword: %s\n\n", $1, $2 }'

(the NR != 1 part is required to discard the first line mysql outputs)

this is how i migrated my mail users from mysql to ldap, it has a
catch tho, it won't work if your records have spaces in them. in that
case you are probably better with perl than with shell, but since i'm
a bash guy and not a perl guy i'd do stuff like:

 mysql -u root -p -e $'select email, "\a", password from posta.users'
| awk -F$'\a' 'NR != 1 { printf "dn: %s\nobjectclass:
myObjectClass\nuserpassword: %s\n\n", $1, $2 }'

it requires bash and it will work as long as your fileds don't have an
ascii bell in them.

For far too long, power has been concentrated in the hands of "root"
and his "wheel" oligarchy. We have instituted a dictatorship of the
users. All system administration functions will be handled by the
People's Committee for Democratically Organizing the System (PC-DOS).