您的位置:首页 > 其它

脚本建立用户并设置密码

2017-06-15 10:38 246 查看


#######脚本建立用户并设置密码#####

脚本生成过程

vim test1.sh  ##判断是否有两个参数

#!/bin/bash

while [ "$#" -ne "2" ]

        do

        echo "please give me a usernamefile and passwordfile!"

        exit 0

        done

vim test2.sh  ##判断两个文件的行数是否相等

#!/bin/bash

while [ `wc -l $1 | cut -d " " -f 1` -ne `wc -l $2 | cut -d " " -f 1` ]

        do

        echo  "$1's line is different from $2's line";

        exit 0

        done

vim test3.sh  ##建立用户并设置密码

#!/bin/bash

        for NUM in $( seq 1 `wc -l $1 | cut -d " " -f 1` )

        do

        NAME=`sed -n ${NUM}p $1`

        PASSWD=`sed -n ${NUM}p $2`

        `useradd $NAME `

        [ `echo $PASSWD | passwd --stdin $NAME` ]

        done

vim test4.sh  ##判断是否有两个文件并判断行数是否相等

#!/bin/bash

if [ "$#" != "2" ];                                                                          

then    echo "please give me a userfile and passwordfile!";

elif    [ `wc -l $1 | cut -d " " -f 1` !=  `wc -l $2 | cut -d " " -f 1` ];

then    echo "$1 is different from $2";

fi

脚本实现(判断脚本后面的文件是否为两个,判断两个文件行数是否相等,用用户文件和密码文件建立用户,用户存在是不做任何操作)

1.test6.sh $1 $2 实现建立用户并设置密码

2.当建立的用户存在时不做任何操作

3.当脚本所指定的文件个数少于两个是,输出 please give me a userfile and passwordfile!

4.当所给文件行数不一致时,输出echo "$1's line is different from $2's line";

vim test5.sh

#!/bin/bash

if [ "$#" != "2" ];                                                                             ##判断脚本后面的文件是否为两个, !=表示不等于

then    echo "please give me a userfile and passwordfile!";

elif    [ `wc -l $1 | cut -d " " -f 1` !=  `wc -l $2 | cut -d " " -f 1` ];      ##判断行数是否相等,wc -l计算 行数

then    echo "$1's line is different from $2's line";

else    for NUM in $( seq 1 `wc -l $1 | cut -d " " -f 1` )                  ##如果相等则执行此命令,将行数赋值给NUM

        do

        NAME=`sed -n ${NUM}p $1`                                              ##$1文件中的内容一次取一行赋给NAME

        PASSWD=`sed -n ${NUM}p $2`                                         ##$2文件中的内容一次取一行赋给PASSWD

        id $NAME &> /dev/null                                                       ##判断用户是否存在

        if [ "$?" != "0" ];                                                                   ##如果不存在,建立用户并设置密码

        then    `useradd $NAME `

                [ `echo $PASSWD | passwd --stdin $NAME` ] &> /dev/null;

        else echo " $NAME is exists! "                                          ##存在则输出该用户已存在

        fi

        done

fi



判断脚本后面的文件是否为两个,判断两个文件行数是否相等



用用户文件和密码文件建立用户,用户存在是不做任何操作,提示该用户已存在



测试

登陆建立的新用户,验证用户名与密码是否对应,验证本来存在的用户信息没有改变(student用户的密码没有被改变)




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: