Magellan Linux

Diff of /trunk/mage/usr/lib/mage/mgroupadd

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1272 by niro, Wed Jun 1 15:48:52 2005 UTC revision 1273 by niro, Wed Apr 27 09:45:07 2011 UTC
# Line 1  Line 1 
1  #!/bin/bash  #!/bin/bash
2  # $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/mgroupadd,v 1.4 2005-06-01 15:48:38 niro Exp $  # $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/mgroupadd,v 1.4 2005-06-01 15:48:38 niro Exp $
3    
4    # include all needed files
5    [ -f /etc/mage.rc.global ] && source /etc/mage.rc.global
6    [ -f ${MAGERC} ] && source ${MAGERC}
7    [ -f ${MLIBDIR}/mage4.functions.sh ] && source ${MLIBDIR}/mage4.functions.sh
8    
9  print_usage()  print_usage()
10  {  {
11   echo "$(basename $0 .sh) adds groups to /etc/group."   echo "$(basename $0 .sh) adds groups to /etc/group."
# Line 13  print_usage() Line 18  print_usage()
18   echo   echo
19  }  }
20    
21    busybox_fix_group_opts()
22    {
23     local i
24     local FIXED_GROUP_OPTS
25    
26     for i in $*
27     do
28     case $1 in
29     -r) FIXED_GROUP_OPTS+=" -S" ;;
30     *) FIXED_GROUP_OPTS+=" $1" ;;
31     esac
32     shift
33     done
34    
35     echo "${FIXED_GROUP_OPTS}"
36    }
37    
38  while getopts "o:-" opt ; do  while getopts "o:-" opt ; do
39   case "${opt}" in   case "${opt}" in
40   o)   o)
# Line 39  fi Line 61  fi
61    
62  GROUP_TO_ADD="$1"  GROUP_TO_ADD="$1"
63    
64  #start nscd to cache /etc/group  # busybox support needed?
65  $(which nscd) -i group  if need_busybox_support addgroup
 # get the info  
 my_group="$(getent group ${GROUP_TO_ADD})"  
   
 # if above entries are empty the user/group does not exist  
 if [ -z "${my_group}" ]  
66  then  then
67   echo "     Adding group '${GROUP_TO_ADD}' ..."   echo "     Adding group '${GROUP_TO_ADD}' ..."
68   groupadd ${GROUP_OPTS} "${GROUP_TO_ADD}"   addgroup $(busybox_fix_group_opts ${GROUP_OPTS}) "${GROUP_TO_ADD}"
69    
70    # normal systems
71  else  else
72   echo "     Modifing group '${GROUP_TO_ADD}' ..."   #start nscd to cache /etc/group
73   groupmod ${GROUP_OPTS} "${GROUP_TO_ADD}"   $(which nscd) -i group
74     # get the info
75     my_group="$(getent group ${GROUP_TO_ADD})"
76    
77     # if above entries are empty the user/group does not exist
78     if [ -z "${my_group}" ]
79     then
80     echo "     Adding group '${GROUP_TO_ADD}' ..."
81     groupadd ${GROUP_OPTS} "${GROUP_TO_ADD}"
82     else
83     echo "     Modifing group '${GROUP_TO_ADD}' ..."
84     groupmod ${GROUP_OPTS} "${GROUP_TO_ADD}"
85     fi
86  fi  fi

Legend:
Removed from v.1272  
changed lines
  Added in v.1273