添加用户

#!/bin/sh
#Author:woodman

Files=userlist.txt
Groups="operation"

groupadd  -r $Groups &> /dev/null

#user and password file
userpass="`date +%Y%m%d`.$Groups"

#function
declare length=10
declare uids=1000
upass(){
	for user in `cat $Files`
    do
       let uids=$uids+1
       Passwds="`< /dev/urandom tr -dc [:alnum:] | head -c $length `"
       ! id $user &>/dev/null && useradd $user -g $Groups -u $uids && echo $Passwds | passwd --stdin $Passwds &>/dev/null
       echo "$user:$Passwds" >> $userpass
	done
}
mpass(){
    for user in `cat $Files`
    do
       let uids=$uids+1
       Passwds="`mkpasswd -s 0 -l $length`"
       ! id $user &>/dev/null && useradd $user -g $Groups -u $uids && echo $Passwds | passwd --stdin $Passwds &>/dev/null
       echo "$user:$Passwds" >> $userpass
	done
}

#checking to see if the yanfa file exists.
  if [ ! -f $Files ];then
    echo "ERROR:$Files NOT exists!Please check it!"
    exit 1
  fi

#Determine whether the command is installed
  mkpasswd -l 10  &>/dev/null
  Retval=$?

#if Retval equal to 0 using mkpasswd to generate passwords
#else using  urandom generation password

case $Retval in 
0) mpass;;
*) upass;;
esac


  echo "---------------Passwords Created Successfully!---------------"
  echo "The group $Groups added the following users:"
  cat $userpass
  echo "-------------------------THE END-----------------------------"
  exit 0

用户文件列表userlist

# cat userlist.txt 
user01
user02
user03
user04
user05

运行结果:

./addusers.sh
---------------Passwords Created Successfully!---------------
The group operation added the following users:
user01:XCVDysfNvq
user02:RJHk1rHWCA
user03:4QIa3DRXp4
user04:b7UImz3ff5
user05:NBhdfcAvXi
-------------------------THE END-----------------------------

用户uid和gid

# id user03
uid=1003(user03) gid=500(operation) groups=500(operation)
posted @ 2017-01-16 13:25  山城木头人  阅读(177)  评论(0编辑  收藏  举报