[Volgograd] LDAP add

Dwarf linux на dwarf.net.ru
Вс Янв 25 01:01:12 MSK 2004


Небольшой скриптик на суд общественности. Задача - добавить нового
пользователя в базу LDAP. Ищем bottle necks. Или добавляем features.

-- 
Best regards,
Dwarf (aka Maxim V. Kovrov).

Mencken and Nathan's Fifteenth Law of The Average American:
	The worst actress in the company is always the manager's wife.
----------- следущая часть -----------
#!/bin/sh

# чуть позже, конечно, все эти установочные переменные 
#SUIFFIX, BINDDN и др. будут занесены в отдельный фай common, но сейчас они тута.

SUIFFIX="dc=dwarf,dc=net.ru"
BINDDN="cn=manager,$SUIFFIX"

NEWUSER=$1

if [ x$1 == x ]; then
    echo "Usage: `basename $0` <new username>"
    exit 1
fi

# тут, по большому счёту, нужно проверить, присутствует ли 
# пользователь NEWUSER уже в системе

useradd $NEWUSER

NEWUID=`id -u $NEWUSER`
NEWGID=`id -g $NEWUSER`
NEWGROUP=$NEWUSER


ldapadd -c -x -w `cat /etc/ldap.secret` -D "$BINDDN" <<EOF
dn: uid=$NEWUSER,ou=People,$SUIFFIX
uid: $NEWUSER
cn: $NEWUSER
objectClass: account
objectClass: posixAccount
objectClass: top
loginShell: /bin/bash
uidNumber: $NEWUID
gidNumber: $NEWGID
homeDirectory: /home/$NEWUSER
userPassword: {crypt}x
EOF

# delete new record in /etc/passwd

PASSWDFILE=/etc/passwd
PASSWDFILERES=/etc/passwd-res

mv -f $PASSWDFILE $PASSWDFILERES

cat $PASSWDFILERES | grep -v "^$NEWUSER" > $PASSWDFILE

# стирать или не стирать файлы из /etc/tcb???

# adding new group
# Есть версия, что можно вообще тут воспользоваться скриптом migrate_group, но пока не буду.


ldapadd -c -x -w `cat /etc/ldap.secret` -D "$BINDDN" <<EOF
dn: cn=$NEWGROUP,ou=Group,$SUIFFIX
objectClass: posixGroup
objectClass: top
cn: $NEWGROUP
userPassword: {crypt}x
gidNumber: $NEWGID
memberUid: $NEWUSER
EOF

passwd $NEWUSER


Подробная информация о списке рассылки Volgograd