creategroup   [plain text]


#!/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