mirror of
https://github.com/samba-team/samba.git
synced 2025-01-11 05:18:09 +03:00
An example of a group creation command that can handle failures
of groupadd. Volker
This commit is contained in:
parent
685387b010
commit
3f78923a6f
27
source/script/creategroup
Executable file
27
source/script/creategroup
Executable file
@ -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
|
Loading…
Reference in New Issue
Block a user