• 微信
    咨询
    微信在线咨询 服务时间:9:00-18:00
    纵横数据官方微信 使用微信扫一扫
    马上在线沟通
  • 业务
    咨询

    QQ在线咨询 服务时间:9:00-18:00

    选择下列产品马上在线沟通

    纵横售前-老古
    QQ:519082853 售前电话:18950029581
    纵横售前-江夏
    QQ:576791973 售前电话:19906048602
    纵横售前-小李
    QQ:3494196421 售前电话:18965140883
    纵横售前-小智
    QQ:2732502176 售前电话:17750597339
    纵横售前-燕子
    QQ:609863413 售前电话:17750597993
    纵横值班售后
    QQ:407474592 售后电话:400-1886560
    纵横财务
    QQ:568149701 售后电话:18965139141

    售前咨询热线:

    400-188-6560

    业务姚经理:18950029581

  • 关注

    关于纵横数据 更多优惠活动等您来拿!
    纵横数据官方微信 扫一扫关注官方微信
  • 关闭
  • 顶部
  • 您所在的位置 : 首页 > 新闻公告 > "linux下批量添加用户和修改密码的方法,批量用户添加流程 "

    "linux下批量添加用户和修改密码的方法,批量用户添加流程 "

    linux下批量添加用户和修改密码的方法,批量用户添加流程

      批量添中用户流程是通过newusers 导入一个严格按照/etc/passwd 的书写格式来书写内容的文件来完成添加用户,然后通过chpasswd 导入用户密码文件来完成批量更新用户密码的过程。

      1、newusers 成批添加用户的工具

      其用法很简单,newusers 后面直接跟一个文件;文件格式和/etc/passwd 的格式相同

      用户名1:x:UID:GID:用户说明:用户的家目录:所用SHELL

      举例:

      win00:x:520:520::/home/win00:/sbin/nologin

      win01:x:521:521::/home/win01:/sbin/nologin


      值得一提的是关于SHELL类型,查看主机上所有SHELL ,可以通过chsh 来查看

      [root@localhost beinan]# chsh --list

      /bin/sh

      /bin/bash

      /sbin/nologin

      /bin/ksh

      /bin/tcsh

      /bin/csh

      /bin/zsh

      其中除了/sbin/nologin ,其它类型的SHELL 都能登录系统;nologin 大多是虚拟用户用的SHELL ,也就是说虽然他是系统用户,但他并无登录系统的权限;如果您想添加这类用户,就把他的SHELL 设置成/sbin/nologin ,比如上面的例子

      
    如果你要批量添加的用户需要有环境变量,用上面的 newusers 添加的用户是没有环境变量的,不过我们可以通过 useradd 命令自己编写shell脚本,很简单,如下:

    #!/bin/bash
    PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
    export PATH

    file=/home/user_list

    cat $file | grep -v "#" | while read LINE

    do
    echo $LINE
    useradd $LINE
    done


    如果你暂时不需要添加某个用户,可以在文件内用 “#” 过滤掉该行。
    注意:
    如果你用这个脚本添加用户,注意 /home/user_list 文件每个用户单独一行,只包括用户名。

    自定义脚本所需文件 /home/user_list 格式如下:

    [root@localhost beinan]# more user_list
    win01
    win02
    #win03

      2、chpasswd 批量更新用户口令工具

      chpasswd 工具是成批更新用户口令的工具,是把一个文件内容重新定向添加到/etc/shadow中

      chpasswd < 文件

      但文件的内容并不是没有约定的,必须以下面的格式来书写,并且不能有空行

      用户名:口令

      用户名1:口令1

      用户名2:口令2

      举例:

      win00:123456
      win01:654321


      三、批量添加用户实例

      1、首先我们创建用户文件和密码文件

      我们要创建包含新用户的文件userfile.txt ;另一个是为新添加的用户设置密码的userpwdfile.txt;

      [root@localhost ~]# touch userfile.txt

      [root@localhost ~]# touch userpwdfile.txt

      然后用文本编辑器打开文件userfile.txt,添加如下内容;

      win00:x:520:520::/home/win00:/sbin/nologin

      win01:x:521:521::/home/win01:/sbin/nologin

      userfile.txt 文件内容格式和 /etc/passwd 的格式是一样的,必须严格按照/etc/passwd 的格式来书写;上面所添加的用户都不能登录系统,但完全能用于ftp登录,但您得在相应ftp服务器的配置文件中打开让本地用户有读写权限;如果您想让上面的部份用户可以登录系统,可以把SHELL类似改一改,比如改成/bin/bash

      我们再来书写新增用户的密码文件userpwdfile.txt内容;这个文件的内容中的用户名要与 userfile.txt用户名相同;也就是说我们先是添加了win00到win09的用户,现在要为这些用户更新密码;比如下面的;

      win00:123456

      win01:654321

      

      2、通过脚本 useradd.sh ,newusers 完成批量添加用户

    [root@localhost ~]# ./useradd.sh

    [root@localhost ~]# newusers userfile.txt

    3、通过 chpasswd 完成批量修改用户密码

      [root@localhost ~]# chpasswd < userpwdfile.txt

      这样就算添加完成了,如果您发现 /etc/passwd 中能发现用户的明口令,您可以通过下面的命令来映射到 /etc/shadow文件名;

      [root@localhost ~]# pwconv

    文章来源于纵横数据(www.zoneidc.com


    最新推荐


    微信公众帐号
    关注我们的微信