Magellan Linux

Diff of /trunk/mage/usr/lib/mage/museradd

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

revision 1273 by niro, Wed Apr 27 09:45:07 2011 UTC revision 2174 by niro, Sat Aug 17 09:20:33 2013 UTC
# Line 31  busybox_fix_user_opts() Line 31  busybox_fix_user_opts()
31   -G) shift; shift; continue;; # will be parsed through fix_group_opts   -G) shift; shift; continue;; # will be parsed through fix_group_opts
32   -u) shift; [[ $1 -lt 100 ]] && FIXED_USER_OPTS+=" -S"; FIXED_USER_OPTS+=" -u $1" ;;   -u) shift; [[ $1 -lt 100 ]] && FIXED_USER_OPTS+=" -S"; FIXED_USER_OPTS+=" -u $1" ;;
33   -r) FIXED_USER_OPTS+=" -S" ;;   -r) FIXED_USER_OPTS+=" -S" ;;
34     -M) FIXED_USER_OPTS+=" -H" ;;
35   *) FIXED_USER_OPTS+=" $1" ;;   *) FIXED_USER_OPTS+=" $1" ;;
36   esac   esac
37   shift   shift
# Line 55  busybox_fix_group_opts() Line 56  busybox_fix_group_opts()
56   echo "${FIXED_GROUP_OPTS}"   echo "${FIXED_GROUP_OPTS}"
57  }  }
58    
59    fix_usermod_opts()
60    {
61     local i
62     local FIXED_USERMOD_OPTS
63    
64     for i in $*
65     do
66     case $1 in
67     -M) : ;; # usermod does not support the -M switch
68     *) FIXED_USERMOD_OPTS+=" $1" ;;
69     esac
70     shift
71     done
72    
73     echo "${FIXED_USERMOD_OPTS}"
74    }
75    
76    if [[ ! -z ${MROOT} ]] && [[ ${MROOT} != / ]]
77    then
78     chroot="chroot ${MROOT} "
79    else
80     chroot=""
81    fi
82    
83  while getopts "o:-" opt ; do  while getopts "o:-" opt ; do
84   case "${opt}" in   case "${opt}" in
85   o)   o)
# Line 84  USER_TO_ADD="$1" Line 109  USER_TO_ADD="$1"
109  # busybox support needed?  # busybox support needed?
110  if need_busybox_support adduser  if need_busybox_support adduser
111  then  then
112   echo "     Adding user '${USER_TO_ADD}' ..."   echo -n "     Adding user '${USER_TO_ADD}'"
113   adduser -D $(busybox_fix_user_opts ${USER_OPTS}) "${USER_TO_ADD}"   [[ ! -z ${chroot} ]] && echo -n " into MROOT='${MROOT}'"
114     echo " ..."
115     ${chroot} adduser -S -D $(busybox_fix_user_opts ${USER_OPTS}) "${USER_TO_ADD}"
116   for grp in $(busybox_fix_group_opts ${USER_OPTS})   for grp in $(busybox_fix_group_opts ${USER_OPTS})
117   do   do
118   addgroup "${USER_TO_ADD}" "${grp}"   ${chroot} addgroup "${USER_TO_ADD}" "${grp}"
119   done   done
120    
121  # normal systems  # normal systems
122  else  else
  #start nscd to cache passwd  
  $(which nscd) -i passwd  
123   # get the info   # get the info
124   my_user="$(getent passwd ${USER_TO_ADD})"   my_user="$(${chroot} getent passwd ${USER_TO_ADD})"
125    
126   if [ -z "${my_user}" ]   if [ -z "${my_user}" ]
127   then   then
128   echo "     Adding user '${USER_TO_ADD}' ..."   echo -n "     Adding user '${USER_TO_ADD}'"
129   useradd ${USER_OPTS} "${USER_TO_ADD}"   [[ ! -z ${chroot} ]] && echo -n " into MROOT='${MROOT}'"
130     echo " ..."
131     ${chroot} useradd -r ${USER_OPTS} "${USER_TO_ADD}"
132   else   else
133   echo "     Modifing user '${USER_TO_ADD}' ..."   echo -n "     Modifing user '${USER_TO_ADD}'"
134   usermod ${USER_OPTS} "${USER_TO_ADD}"   [[ ! -z ${chroot} ]] && echo -n " in MROOT='${MROOT}'"
135     echo " ..."
136     ${chroot} usermod $(fix_usermod_opts ${USER_OPTS}) "${USER_TO_ADD}"
137   fi   fi
138  fi  fi

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