美文网首页
CentOS批量添加用户和修改密码

CentOS批量添加用户和修改密码

作者: ThinkerWalker | 来源:发表于2017-06-04 21:57 被阅读0次

    不得不感叹一下,网上的水军真是多,今天就搜了“linux批量修改密码”,发现网上的博客,都是一个样,我要的是sha512的密码……

    1、批量创建用户

    创建用户,需要用到useradd和newusers,useradd就不多说了,newusers是用来批量创建和修改用户的命令。
    使用它需要先建立一个用户账号文件,文件格式需要和passwd文件格式一样。
    下面我来创建用户文件:

    [root@CentOS7 root]# newusers users.txt 
    [root@CentOS7 root]# tail -4 /etc/passwd   #下面是user.txt文件的内容,发现已经创建成功
    user1:x:1011:1011::/home/user:/bin/bash
    user2:x:1012:1011::/home/user:/bin/bash
    user3:x:1013:1011::/home/user:/bin/bash
    user4:x:1014:1011::/home/user:/bin/bash
    

    2、批量设置密码

    2.1使用passwd和--stdin组合

    我们通常使用的命令是这样的:

    [root@CentOS7 root]# echo "centos" |passwd --stdin user1
    Changing password for user user1.
    passwd: all authentication tokens updated successfully.
    

    优点:方便快捷,不需要交互式更改密码,这样就可以在shell脚本中直接使用这个命令修改密码了
    缺点:如果你输入的指令能被别人通过history或者其他方式捕获,那么这样的方式是很不安全的,更重要的是如果密码同时含有单引号和双引号,那么则无法通过这种方法修改。另外其它的一些发行版(如Debian/Suse)所提供的passwd并不支持--stdin这个参数

    2.2使用chpasswd

    2.2.1chpasswd未加密密码

    chpasswd其实是通过用户输入'用户名:密码'来更改一组用户的密码,还是读取文件里的内容,文件格式也是'用户名:密码',也就成为了一个可以批量修改密码的工具。

    格式1
    :# echo 用户名:密码 | chpasswd

    [root@CentOS7 root]# echo "user1:redhat"|chpasswd
    
    

    格式2:
    :#cat passwd.txt | chpasswd(centos7)
    :#chpasswd < passwd.txt(centos 6以前)

    [root@CentOS7 root]# cat file |chpasswd #即可成功
    #注意文件不能有空行
    #文件符合user:passwd形式
    
    2.2.2chpasswd加密密码

    chpasswd -e选项是可以使用加密方式来加密的,让我们先来生成密码

    [root@CentOS7 root]# openssl passwd -1 12345678 > file
    #然后进入file里面,添加上用户名,让其符合user:passwd形式
    
    [root@CentOS7 root]# cat file |chpasswd -e #就成功了
    
    

    说明:openssl passwd用来生成MD5的加密密码。
    密码虽然一样,但是如果你执行第二次,则会发现不一样,是因为它是以时间来“加盐”?
    加盐就是使用一个字符串来对另一个字符串进行加密,如果使用的盐不一样,则生成的密码自然就不一样。
    使用同样的"盐",则生成密码一样

    [root@CentOS7 root]# openssl passwd -1 -salt 'abc' 123456 
    $1$abc$mJPQCTATLDV5aNzcHMYLr/
    [root@CentOS7 root]# openssl passwd -1 -salt 'abc' 123456 
    $1$abc$mJPQCTATLDV5aNzcHMYLr/
    

    注意:我们centos6以后的系统默认都是sha512进行加密的,因为使用MD5加密早就被破解了,但是使用生成的MD5也可以当做密码,是因为每一个密码前面都有一个字符来表示密码加密的算法,比如上面的密码,1代表MD5,6则代表sha512.
    网上说了一大堆,都只是生成了MD5,没人生成sha512的密码,后来网上一查,发现要想生成sha512需要使用脚本来生成-_-.(以后一定自己写一个可以生成sha512密码的脚本)

    相关文章

      网友评论

          本文标题:CentOS批量添加用户和修改密码

          本文链接:https://www.haomeiwen.com/subject/sdrmfxtx.html