发布时间:2018-04-23作者:laosun阅读(2023)
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]$
版权属于: 技术客
原文地址: https://www.sunjs.com/article/detail/d1ac3b1c6f78404ea10cdc886b384fec.html
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
关键字: linux