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接触不深,可能对指令的了解不够透彻,如有错误和不合理的地方欢迎指正。
linux '--stdin'错误 -批量修改密码的更多相关文章
- linux shell脚本批量修改密码,无需交互输入
转至:https://blog.csdn.net/weixin_34409357/article/details/89833777?utm_medium=distribute.pc_relevant. ...
- Ansible 批量修改密码
客户要求每3个月修改一次主机密码.密码规则为客服提供的一串字符 xxxx + 主机后3位. 将需要登录主机添加到 Ansible. 将需要登录主机的公钥添加到 known_hosts ssh-keys ...
- linux 查看用户上次修改密码的日期【转】
1.找到以下文件: cat /etc/shadow 第三段字符就是最近一次密码修改的天数,此数字是距离1970年1月1日的天数. 2.用以下命令计算: date -u -d "1970- ...
- linux批量添加用户和批量修改密码
一.批量创建用户通过命令newusers可以实现批量的创建用户.这个命令的用法为 newusers file.txt(一个文本文件)文本文件内存放需要批量添加的用户信息但是对格式有要求格式:pw_na ...
- linux中普通用户修改密码出现(passwd:Authentication token manipulation error)
如果在linux中,不管是root用户还是普通用户登录后,修改自己的密码,出现---passwd:Authentication token manipulation error---错误的解决办法: ...
- Linux 通过 shell 脚本修改密码
交互方式修改密码 1. ssh 远程到主机: 2. 切换到root账号: [一般都是切换到root进行密码修改,如果普通用户修改自己的密码,要输入原密码,然后新密码要满足复杂度才OK]: 3. pas ...
- ansible-playbook批量修改密码
1. 将服务器ip写到ansible hosts文件中 2. 实现免密登录服务器 将ansible服务器公钥拷贝到目标服务器用户目录下的.ssh/authorized_keys 手动连接一次或者自己写 ...
- linux添加用户、修改密码
1.在root下添加用户用 adduser 命令 # 添加用户 admin [root@flm] #sudo adduser admin 2.添加用户登录密码 # 为用户 admin 修改密码 [ro ...
- linux rename命令批量修改文件名
修改文件名可以用mv命令来实现 mv filename1 filename2 1 但如果批量修改还是使用rename命令更为方便 现在我们有a b c d 四个文件 增加后缀 rename 's/$/ ...
随机推荐
- Json.Net(Newtonsoft)系列教程 4.Linq To JSON
转自:https://www.cnblogs.com/sczmzx/p/7813834.html 一.Linq to JSON是用来干什么的? Linq to JSON是用来操作JSON对象的.可 ...
- zabbix通过agent添加监控项的步骤
1.确定要监控的对象的指标 2.在agent端上,把如何具体获取指标写成shell脚本,并放在一个和其它agent端统一的位置上 3.在agent端上,自定义监控项key值,配置zabbix_agen ...
- ubuntu环境下安装docker遇到的坑
ubuntu安装docker的前提条件是: 1. Linux 的内核版本在 3.10 或以上: 2. linux 内核要开启 cgroup 和 namespace 功能 可以执行命令:uname –a ...
- offsetWidth/offsetHeight,clientWidth/clientHeight与scrollWidth/scrollHeight的区别
offsetWidth/offsetHeight返回值包含content + padding + border,效果与e.getBoundingClientRect()相同 clientWidth/c ...
- [原创] debian 9.3 搭建seafile企业私有网盘
[原创] debian 9.3 搭建seafile企业私有网盘 需求是这样的, 个人疲惫于 "成为大伙的文件中转站" ,公司不管大大小小的文件,都要打电话过来“转个xx文件”.“帮 ...
- C# webapi简单学习
创建WebApi项目: 在VS工具中创建一个ASP.NET Web应用程序 选择Webapi 一个webapi项目就创建好了 这里简单的写一个post和get两种请求的方法,由于post请求参数需要参 ...
- ADDED、ADDED_TO_STAGE、REMOVED、REMOVED_FROM_STAGE这几个事件的区别
var _container:Sprite = new Sprite(); _container.addEventListener(Event.ADDED,onAdded); _container.a ...
- WebMvcConfigure
https://www.cnblogs.com/cl-rr/p/9632886.html
- 20175314 实验三 敏捷开发与XP实践
20175314 实验二 Java面向对象程序设计 一.实验内容 XP基础 XP核心实践 相关工具 二.实验步骤 (一)代码格式化 创建"175314.exp3"项目,在该项目下创 ...
- 远程过程调用(RPC)
在第二篇教程中我们介绍了如何使用工作队列(work queue)在多个工作者(woker)中间分发耗时的任务. 可是如果我们需要将一个函数运行在远程计算机上并且等待从那儿获取结果时,该怎么办呢?这就是 ...