发布新日志

  • 自动生成CVS用户

    2008-08-28 13:19:48

    #!/bin/bash
    #ALLUSER="name1:passwd1 name2:passwd2 ....."#用户名:密码
    LOGNAME="creatUser.log"                     #日志文件名
    HOMEDIR="/home/users"                       #新建用户的工作目录
    ALLUSER="liyong:ironyagami zhanghua:123 chenzf:321 jiangjs:88031
    `echo >>./$LOGNAME`
    `echo >>./$LOGNAME`
    `echo "****************************************" >>./$LOGNAME`
    `date >> ./$LOGNAME`
    `echo "****************************************" >>./$LOGNAME`
    `echo >> ./$LOGNAME`
    for user in $ALLUSER                        #遍历用户信息,取出用户名和密码         
    do
         declare -a userInfo
         declare -a flag
         userInfo=($(echo $user|awk -F ':' '{print $0}'|sed "s/:/ /g"))
         name=${userInfo[0]}                    #用户名
         passwd=${userInfo[1]}                  #密码
    #    echo $name
    #    echo $passwd
         flag=($(grep $name /etc/shadow|awk -F ':' '{print $0}'|sed "s/:/ /g"))
         if [ -z "${flag[0]}" ] ; then
    #creat user info 用户不存在则新建用户
         mkdir -p $HOMEDIR/$name                #新建工作目录
         chown $name:cvsroot $HOMEDIR/$name
        `echo "new user is creaing,the name is $name">>./$LOGNAME`
         useradd -s /sbin/nologin -d $HOMEDIR/$name -g ALLUSER $name >> ./$LOGNAME
         echo $passwd |passwd $name --stdin >> ./$LOGNAME
        `echo "user is created sucessfullly!!!" >>./$LOGNAME`
        `echo >> ./$LOGNAME`
     else
    #modify user info 否则就修改用户信息
        mkdir -p $HOMEDIR/$name
        chown $name:cvsroot $HOMEDIR/$name
        `echo "$name is exsit,it will be modified">>./$LOGNAME`
        usermod -s /sbin/nologin -d $HOMEDIR/$name -g ALLUSER $name >> ./$LOGNAME
        echo $passwd |passwd $name --stdin >> ./$LOGNAME
        `echo "user is modified sucessfullly!!!" >>./$LOGNAME`
        `echo >> ./$LOGNAME`
     fi
    done

    `echo >>./$LOGNAME`
    #creat /home/cvsroot/CVSROOT/passwd
    CVSROOT="/home/cvsroot"
    for user in $ALLUSER                 #在shadow中取出用户的密码信息,写入CVSROOT/passwd
    do
            declare -a userInfo
            declare -a arr
            userInfo=($(echo $user|awk -F ':' '{print $0}'|sed "s/:/ /g"))
            name=${userInfo[0]}
            passwd=${userInfo[1]}
    #       echo $name
    #       echo $passwd
    #       `echo "new passwd is added or modified in $CVSROOT/CVSROOT/passwd,the name #       is $name">>./$LOGNAME`
            arr=($(grep $name /etc/shadow|awk -F ':' '{print $0}'|sed "s/:/ /g"))
            flag=($(grep -n $name $CVSROOT/CVSROOT/passwd|awk -F ':' '{print $0}'|sed "s/:/ /g"))
    #        echo ${flag[0]} #行号
     if [ -n "${flag[1]}" ] ; then              #存在则修改
           `echo $name is exsit,no change the passwd!!! >>./$LOGNAME`
           sed "${flag[0]} d" $CVSROOT/CVSROOT/passwd $CVSROOT/CVSROOT/passwd.copy
           mv -f $CVSROOT/CVSROOT/passwd.copy $CVSROOT/CVSROOT/passwd
           `echo the passwd is modified sucessfully!!! >>./$LOGNAME`
           `echo >> ./$LOGNAME`
     else                                       #不存在就直接写入
           `echo creating passwd for new user:$name !!! >>./$LOGNAME`
           `echo ${arr[0]}":"${arr[1]}":"$name >>$CVSROOT/CVSROOT/passwd`
           `echo ${arr[0]}":"${arr[1]}":"$name >>./$LOGNAME`
           `echo "passwd is created sucessfullly!!!" >>./$LOGNAME`
           `echo >> ./$LOGNAME`
     fi
    done

  • 代码发布简易流程

    2008-08-28 12:09:36

     

我的存档

数据统计

  • 访问量: 5544
  • 日志数: 5
  • 文件数: 1
  • 建立时间: 2008-08-28
  • 更新时间: 2008-08-29

RSS订阅

Open Toolbar