Initial import
[samba] / source / script / creategroup
diff --git a/source/script/creategroup b/source/script/creategroup
new file mode 100755 (executable)
index 0000000..01fb065
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+# Example script for 'add group command'. Handle weird NT group
+# names. First attempt to create the group directly, if that fails
+# then create a random group and print the numeric group id.
+#
+# Note that this is only an example and assumes /dev/urandom.
+# 
+# Volker
+
+GROUPNAME="$1"
+ITERS=0
+
+while ! /usr/sbin/groupadd "$GROUPNAME" > /dev/null 2>&1
+do
+    # we had difficulties creating that group. Maybe the name was
+    # too weird, or it already existed. Create a random name.
+    GROUPNAME=nt-$(dd if=/dev/urandom bs=16 count=1 2>/dev/null | md5sum | cut -b 1-5)
+    ITERS=$(expr "$ITERS" + 1)
+    if [ "$ITERS" -gt 10 ]
+    then
+       # Too many attempts
+       exit 1
+    fi
+done
+
+getent group | grep ^"$GROUPNAME": | cut -d : -f 3