summaryrefslogtreecommitdiffstats
path: root/collab/openldap/mkaccount.sh
diff options
context:
space:
mode:
Diffstat (limited to 'collab/openldap/mkaccount.sh')
-rwxr-xr-xcollab/openldap/mkaccount.sh51
1 files changed, 51 insertions, 0 deletions
diff --git a/collab/openldap/mkaccount.sh b/collab/openldap/mkaccount.sh
new file mode 100755
index 0000000000..097036949f
--- /dev/null
+++ b/collab/openldap/mkaccount.sh
@@ -0,0 +1,51 @@
+#!/bin/sh
+# $Id: mkaccount.sh,v 1.4 2002/09/23 21:43:00 sergeyli Exp $
+
+if [ "$UID" != 0 ]; then
+ echo "Switching to root..."
+ su - -c "$PWD/$0 $*"
+ exit
+fi
+
+echo "#"
+echo "# Usage: $0 <login> <id> <password> <last name>"
+
+echo "# `grep '${1:-nobody}' /etc/passwd`"
+
+SUFFIX=`gawk '/^suffix\W+/ { match($0, /suffix\W+"?([^"]*)"?/, a); print a[1]; nextfile; }' /etc/openldap/slapd.conf`
+
+# echo
+if [ -z "$SUFFIX" ]; then
+ HOST=`hostname`
+ SUFFIX="o=${HOST#*.}"
+fi
+
+ID=${2:-1001}
+
+cat << __EOF__
+dn: cn=$1,ou=Groups,$SUFFIX
+objectClass: posixGroup
+cn: $1
+userPassword: {CRYPT}x
+gidNumber: $ID
+memberuid: $1
+
+dn: cn=$1,ou=Users,$SUFFIX
+objectClass: inetOrgPerson
+objectClass: posixAccount
+objectClass: shadowAccount
+cn: $1
+sn: ${4:-lastname}
+givenName: $1
+mail: $1@`hostname`
+description: Entry for \`$1($ID)' created `date +%c`
+uid: $1
+userPassword: `slappasswd -s "$3"`
+shadowLastChange: $((`date +%s` / 60 / 60 / 24))
+shadowMax: 99999
+shadowWarning: 7
+loginShell: /bin/sh
+uidNumber: $ID
+gidNumber: $ID
+homeDirectory: /home/$1
+__EOF__