• linux '--stdin'错误 -批量修改密码


      虚拟机: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接触不深,可能对指令的了解不够透彻,如有错误和不合理的地方欢迎指正。

  • 相关阅读:
    [LeetCode290]Word Pattern
    [LeetCode19]Remove Nth Node From End of List
    [LeetCode203]Remove Linked List Elements
    [LeetCode160]Intersection of Two Linked Lists
    [LeetCode118]Pascal's Triangle
    [LeetCode228]Summary Ranges
    [LeetCode119]Pascal's Triangle II
    Directx11学习笔记【四】 封装一个简单的Dx11DemoBase
    Directx11学习笔记【三】 第一个D3D11程序
    平衡二叉树详解
  • 原文地址:https://www.cnblogs.com/HumbleFish/p/9172169.html
Copyright © 2020-2023  润新知