Shell脚本创建linux用户帐户但密码出错
本站教程收集整理的这篇文章主要介绍了Shell脚本创建linux用户帐户但密码出错,本站教程本站觉得挺不错的,现在分享给大家,也给大家做个参考。
本站教程收集整理的这篇文章主要介绍了Shell脚本创建linux用户帐户但密码出错,本站教程本站觉得挺不错的,现在分享给大家,也给大家做个参考。我编写了一个 sHell脚本来@R_101_10589@帐户.该脚本从文本文件中读取用户帐户名和密码,并使用这些信息创建帐户.当我执行脚本时,它成功创建了帐户,但是当我尝试登录这些帐户时由于密码无效而无法登录,请再次尝试错误.
这是我用来@R_101_10589@帐户的脚本:
file_name="t.txt" while read user pass do useradd -p ${pass} ${user} done < $file_name
编辑-1:
t.txt文件包含用户帐户信息:空格分隔的每行用户名和密码.这是文件的片段:
user1 abcXYZ user2 DEFxyz user3 ijkLMN
EDIT 2:
当我按照Steve Kline推荐的方法时,它会显示以下结果:(仍然无法使用给定的密码登录创建的帐户)
passwd: unrecognized optiON '--stdin' Usage: passwd [options] [LOGIN] Options: -a,--all report password status on all accounts <---------------------------------- SKIPPED -------------------------------> -x,--maxdays MAX_DAYS set maximum number of days before password change to MAX_DAYS Adding user user1 with the password abcXYZ123
仍然无法使用给定密码登录创建的帐户
解决方法
所以你当前的方法是在/ etc / shadow中添加明文密码.
按原样使用您的脚本…创建它.请注意,我在密码末尾添加了几位数字以匹配标准的8个字符,以抑制“你确定”的提示.
user1:abcXYZ123:16963:0:99999:7::: user2:DEFxyz142:16963:0:99999:7::: user3:ijkLM1564:16963:0:99999:7:::
用户文件
[root@localhost ~]# cat t.txt s.txt user1 abcXYZ123 user2 DEFxyz142 user3 ijkLM1564 user4 abcXYZ123 user5 DEFxyz142 user6 ijkLM1564
剧本
#!/bin/bash -e #Adding user1,user2,user3 using your method. file_name="t.txt" while read user pass do #useradd ${user} -p ${pass} useradd -p ${pass} ${user} echo "Adding user "${user}" with the password "${pass} done < $file_name #Adding user4,user5,user6 using the recommended method. file_name="s.txt" while read user pass do #useradd ${user} -p ${pass} useradd ${user} echo "${pass}" | passwd --stdin ${user} echo "Adding user "${user}" with the password "${pass} done < $file_name
使用这两种语法,在/ etc / shadow中生成了这些结果
user1:abcXYZ123:16963:0:99999:7::: user2:DEFxyz142:16963:0:99999:7::: user3:ijkLM1564:16963:0:99999:7::: user4:$1$NpazYQAn$tlhfQLlP0CaFiUeNeK8HW.:16963:0:99999:7::: user5:$1$4z8G4gvh$v0jzcV5xbhWixU1LG9mwW.:16963:0:99999:7::: user6:$1$cBkcYJkJ$7A.j6E3gy/umUcVmY0tgt0:16963:0:99999:7:::
因此,我发布的方法是有效的.更新:Ubuntu工作方法如下.这个stdin被确认用于基于RHel的系统.
useradd ${user} echo "${pass}" | passwd --stdin ${user}
如果您的心脏完全使用该方法,我建议安装mkpasswd并使用此语法.
useradd -p $(mkpasswd ${pass}) ${user}
更新Ubuntu Passwd stdin
echo ${user}:${pass} | /usr/sbin/chpasswd
本站总结
以上是本站教程为你收集整理的Shell脚本创建linux用户帐户但密码出错全部内容,希望文章能够帮你解决Shell脚本创建linux用户帐户但密码出错所遇到的程序开发问题。
如果觉得本站教程网站内容还不错,欢迎将本站教程推荐给好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。
《Shell脚本创建linux用户帐户但密码出错》来自互联网同行内容,若有侵权,请联系我们删除!
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~