红联Linux门户
Linux帮助

一道编程题

发布时间:2009-08-20 13:55:13来源:红联作者:ty8080
有两个文件,一个用户列表文件uselist 格式:
user1 dba group1
user2 test
user3 user3 group3
.
.
.
一个密码文件password
123456
34567
45788rt

要求把写一个脚本批量添加用户,加上密码。
文章评论

共有 4 条评论

  1. jiehe 于 2009-08-22 13:16:29发表:

    么看懂。

  2. l460618498 于 2009-08-21 11:57:00发表:

    太强了

  3. ty8080 于 2009-08-21 09:22:28发表:

    这个是个面试题,当时不会做回来想了好久才想明白。
    #!/bin/bash
    #添加组
    for i in `sed 's/,/ /g' $1 | awk '{for(i=2;i<=NF;i++){system("echo " $i)}}'`
    do
    groupadd $i &>/dev/null
    done

    #添加用户并指定默认组
    sed 's/,/ /g' $1 | awk '{system("useradd -n -g "$2" "$1)}'
    #把用户添加到指定的组里
    sed 's/,/ /g' $1 | awk '{for(i=3;i<=NF;i++){system("gpasswd -a "$1" " $i) } }'

    #为用户设定密码
    for i in `sed 's/ /:/g' $1 | awk '{print }'`
    do
    echo $i |cut -d: -f2 | passwd --stdin `echo $i |cut -d: -f1`
    done


    可能有不对的地方大家给我改改{:3_114:}

  4. h_h 于 2009-08-20 22:47:31发表:

    好像这哪里看到过这个题目{:2_91:}
    不会,楼主还是找点给答案吧