Guest User

BUGA: the Bulk User and Group Adder

a guest
May 3rd, 2012
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.19 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # root access check
  4. if [ `whoami` != "root" ]
  5. then
  6.         echo -e "You should run this script as root (sudo will also work)."
  7. else
  8.         for line in `cat bugalist`
  9.         do
  10.                 echo "==========="
  11.                 echo -e "Processing Line:\n$line"
  12.                 echo "==========="
  13.                 group=`echo $line | awk -F: '{ print $1}'`
  14.                 members=`echo $line | awk -F: '{ print $2}'`
  15.                 groupcount=`grep -c ^$group: /etc/group`
  16.                 if [ $groupcount -ne 0 ]
  17.                 then
  18.                         echo -e "\tGroup '$group' already exists."
  19.                 else
  20.                         echo -e "\tCreating group '$group' ..."
  21.                         groupadd $group
  22.                 fi
  23.                 echo -e "\t\tMembers: $members"
  24.                 for member in `echo $members | sed 's/,/ /g'`
  25.                 do
  26.                         usercount=`grep -c ^$member: /etc/passwd`
  27.                         if [ $usercount  -ne 0 ]
  28.                         then
  29.                                 echo -e "\t\t\tUser '$member' already exists."
  30.                         else
  31.                                 echo -e "\t\t\tCreating user '$member' ..."
  32.                                 useradd $member
  33.                                 # create random 8 character password
  34.                                 password=`</dev/urandom tr -dc A-Za-z0-9 | head -c 8`
  35.                                 echo "$member:$password" | chpasswd
  36.                                 echo -e "\t\t\tPassword for user '$member' set to: $password"
  37.                         fi
  38.                         membershipstatus=`groups $member | grep -c $group`
  39.                         if [ $membershipstatus -ne 0 ]
  40.                         then
  41.                                 echo -e "\t\t\tUser '$member' is already a member of '$group'."
  42.                         else
  43.                                 echo -e "\t\t\tAdding user '$member' to group '$group' ..."
  44.                                 usermod -aG $group $member
  45.                         fi
  46.                         syscheck=`id $member`; echo -e "\t\t\t$syscheck"; echo ""
  47.                 done
  48.         done
  49. fi
Advertisement
Add Comment
Please, Sign In to add comment