linux newuser批量创建指定用户,chpasswd 批量修改密码,以及解决终端提示符bash-4.2的问题

发布时间:2018-04-23作者:laosun阅读(2118)

linux

linux newuser批量创建用户,chpasswd 批量修改密码,以及解决终端提示符bash-4.2的问题

    首先创建一个用户组,仅供测试使用:

    [root@CentOS_7 work]# groupadd batch_users -g 2002 #指定用户组标识号为2002
    [root@CentOS_7 work]# cat /etc/group | grep batch_users  ##查看是否创建成功
    batch_users:x:2002:

    然后创建一个user.txt

    [root@CentOS_7 work]# vi user.txt

    增加内容如下:

    user001:x:2001:2002:user001:/home/user001:/bin/bash
    user002:x:2002:2002:user002:/home/user002:/bin/bash
    user003:x:2003:2002:user003:/home/user003:/bin/bash

    意思就是:用户名:口令(可为空):用户标识号:组标识号:注释性描述:主目录:登录Shell

    然后再创建一个批量修改密码的文件,pass.txt

    [root@CentOS_7 work]# vi pass.txt

    增加内容如下:

    user001:Sun1233211
    user002:Sun1233211
    user003:Sun1233211

    准备工作完毕:

    下边开始批量创建用户,使用newuser指令

    [root@CentOS_7 work]# newusers user.txt 
    [root@CentOS_7 work]# tail /etc/passwd -n 3 #查看是否创建成功
    user001:x:2001:2002:user001:/home/user001:/bin/bash
    user002:x:2002:2002:user002:/home/user002:/bin/bash
    user003:x:2003:2002:user003:/home/user003:/bin/bash

    批量修改密码(将 /etc/shadow 产生的 shadow 密码解码,然后回写到 /etc/passwd 中,并将/etc/shadow的shadow密码栏删掉。这是为了方便下一步的密码转换工作,即先取消 shadow password 功能)

    [root@CentOS_7 work]# pwunconv

    创建用户密码,chpasswd 会将经过 /usr/bin/passwd 命令编码过的密码写入 /etc/passwd 的密码栏

    [root@CentOS_7 work]# chpasswd < pass.txt

    执行命令 /usr/sbin/pwconv 将密码编码为 shadow password,并将结果写入 /etc/shadow。

    [root@CentOS_7 work]# pwconv

    这样就完成了大量指定用户的创建了,之后您可以到/home下检查这些用户宿主目录的权限设置是否都正确,并登录验证用户密码是否正确。

    但是博主发现这么创建,会有一个问题,就是终端提示符由原来的root@主机名+路径变为了bash-4.2,如下所示:

    [sun@CentOS_7 work]$ su user001
    Password: 
    bash-4.2$

    其实这个问题就是因为在用户目录/home/user001下不存在.bash_profile 和.bashrc 这两个问题导致的。很简单,去拷贝一下就可以了。

    bash-4.2$ cp /etc/skel/.bashrc /home/user001/
    bash-4.2$ cp /etc/skel/.bash_profile /home/user001/

    然后退出,重新登录,看一下效果:

    [sun@CentOS_7 work]$ su user001
    Password: 
    [user001@CentOS_7 work]$


1 +1

版权声明

 linux

 请文明留言

0 条评论