虚拟机:VMware虚拟机 

  系统:Linux ubuntu 4.4.0-31-generic #50~14.04.1-Ubuntu SMP Wed Jul 13 01:07:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

  看 《鸟哥的私房菜 -服务器架设篇》的时候,跟着书上敲指令的时候遇到了一个问题,批量添加用户和修改密码失败。

  shell命令如下:

    

  使用 sh运行脚本的时候出现以下错误:  

  

  实测用户和用户组都已经添加成功,但是批量修改密码的时候出现错误,不能通过。

  通过查找资料了解到,批量创建用户时一般都会用到的passwd –stdin参数,在debian/ubuntu下没有这个参数,而我使用的正是ubuntu的系统。言传ubuntu认为使用这个参数批量修改密码不安全所以没有添加到指令中。

  是不是在ubuntu的系统中就不能批量修改属性呢,显然做系统的时候不会出现这种问题。

  通过查找我找到了一个指令,能够很好的解决这个问题(在不考虑安全性的前提下)----“chpasswd”

  chpasswd是一个批量更新用户口令的命令,会从标准输入批量读取成对的用户名和密码,并使用这些信息来更新现有的一组用户,其格式为--username:password

中间用冒号隔开,不能出现空格。具体的语法操作,可以通过man查看系统内部的说明,此处只做简单的应用。

  了解到知道这个指令之后,我对脚本做了简单的修改:

  

  小做测试:

  

  用户创建成功,然后也可以使用密码登录。

  注:用户创建,脚本的编写都是在root用户下操作的,一般用户如果进行操作可能会涉及到权限问题;

    此种方法修改的密码安全性不是很好,只适合个人学习使用; 

    linux接触不深,可能对指令的了解不够透彻,如有错误和不合理的地方欢迎指正。

linux '--stdin'错误 -批量修改密码的更多相关文章

  1. linux shell脚本批量修改密码,无需交互输入

    转至:https://blog.csdn.net/weixin_34409357/article/details/89833777?utm_medium=distribute.pc_relevant. ...

  2. Ansible 批量修改密码

    客户要求每3个月修改一次主机密码.密码规则为客服提供的一串字符 xxxx + 主机后3位. 将需要登录主机添加到 Ansible. 将需要登录主机的公钥添加到 known_hosts ssh-keys ...

  3. linux 查看用户上次修改密码的日期【转】

    1.找到以下文件: cat /etc/shadow 第三段字符就是最近一次密码修改的天数,此数字是距离1970年1月1日的天数.   2.用以下命令计算: date -u -d "1970- ...

  4. linux批量添加用户和批量修改密码

    一.批量创建用户通过命令newusers可以实现批量的创建用户.这个命令的用法为 newusers file.txt(一个文本文件)文本文件内存放需要批量添加的用户信息但是对格式有要求格式:pw_na ...

  5. linux中普通用户修改密码出现(passwd:Authentication token manipulation error)

    如果在linux中,不管是root用户还是普通用户登录后,修改自己的密码,出现---passwd:Authentication token manipulation error---错误的解决办法: ...

  6. Linux 通过 shell 脚本修改密码

    交互方式修改密码 1. ssh 远程到主机: 2. 切换到root账号: [一般都是切换到root进行密码修改,如果普通用户修改自己的密码,要输入原密码,然后新密码要满足复杂度才OK]: 3. pas ...

  7. ansible-playbook批量修改密码

    1. 将服务器ip写到ansible hosts文件中 2. 实现免密登录服务器 将ansible服务器公钥拷贝到目标服务器用户目录下的.ssh/authorized_keys 手动连接一次或者自己写 ...

  8. linux添加用户、修改密码

    1.在root下添加用户用 adduser 命令 # 添加用户 admin [root@flm] #sudo adduser admin 2.添加用户登录密码 # 为用户 admin 修改密码 [ro ...

  9. linux rename命令批量修改文件名

    修改文件名可以用mv命令来实现 mv filename1 filename2 1 但如果批量修改还是使用rename命令更为方便 现在我们有a b c d 四个文件 增加后缀 rename 's/$/ ...

随机推荐

  1. 在Airtest中如何使用无线模式控制手机

    在使用Airtest超快速开发App爬虫文章的最后,我们留了一个尾巴:如何启动Airtest的无线模式,不用USB线就能控制手机? 本文将会讲到具体的做法.做法分为两种:第一种是在Airtest的ID ...

  2. css实现布局

    1.两栏布局 两栏布局一般就是一栏定宽一栏自适应(也就是流动).分的细的话还有左栏定宽右栏自适应.右栏定宽左栏自适应. 举个栗子:一栏定宽200px,一栏自适应. <head> <m ...

  3. 微信授权获取用户openId等信息

    在我们开发小程序的时候,需要通过授权获取用户的信息. 第一种使用wx.getUserInfo直接获取微信头像,昵称 // 必须是在用户已经授权的情况下调用 wx.getUserInfo({ succe ...

  4. ToroiseSVN和VisualSVN-server的配置使用, 外网访问SVN 版本库

    https://www.cnblogs.com/Leo_wl/p/3475167.html

  5. Java连接kafka

    1.maven依赖: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://ww ...

  6. vs2015 工具栏添加控件

    就是“添加”——“组件(N)”,然后把需要的代码写进去,但是工具栏里面却显示不出来. 结果是得重启系统才行,重启之后的确显示在工具栏显示出来了,但是拖到设计界面的时候还会出现“未能加载工具箱项xxx, ...

  7. docker的安装和简单配置

    docker的安装和简单配置 docker是balabalabala...懒得介绍. 国内安装docker很蛋疼,按照官方配置好了软件源之后,几十MB的安装文件下载要半天,没办法,docker默认的软 ...

  8. Spring Boot与Docker部署

    开启Docker远程访问 首先需要开启docker远程访问功能,以便可以进行远程操作. CentOS 6 修改/etc/default/docker文件,重启后生效(service docker re ...

  9. 《DOM Scripting》学习笔记-——第九章 CSS-DOM

    本章内容: 一.style属性 二.如何检索样式信息 三.如何改变样式 属性: 包含位置信息:parentNode , nextSibling , previousSibling , childNod ...

  10. Ubuntu上部署tomcat后无法访问8080端口问题

    在tomacat的bin目录下,修改startup.sh文件,添加信息: #set java environment export JAVA_HOME=/usr/java/jdk1.8.0_111 e ...