[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