linux/centos shell脚本中非交互式修改密码

今天在写一个shell脚本的时候发现需要设置用户的密码,而设置密码是交互式的,这样在脚本中显然是不太好的,因此上网查找资料,发现了以下两种非交互式设置密码的方式:

1、使用chpasswd

chpasswd其实是通过用户输入‘用户名:密码‘来更改一组用户的密码,还是一个可以批量修改密码的工具,具体的用法详见chpasswd用法,这里只做简单的介绍

格式:# echo 用户名:密码 | chpasswd

比如想要添加一个doiido的帐号,密码为123456,指令如下

# echo doiido:123456 | chpasswd

2、使用passwd和--stdin组合

passwd默认是要用终端作为标准输入,而--stdin表示可以用任意文件做标准输入,这两个配合可以直接修改密码

格式:# echo ‘密码‘| passwd --stdin 用户名

还是添加一个doiido的帐号,密码为123456,指令如下

# echo ‘123456‘| passwd --stdin doiido

这样就可以实现在非交互模式下修改密码,但是对于某些嵌入式linux这两种方式都不支持,则可以使用export来实现。

时间: 2024-10-26 04:26:00

linux/centos shell脚本中非交互式修改密码的相关文章

Shell 脚本中非交互式修改密码

今天在写一个shell脚本的时候发现需要设置用户的密码,而设置密码是交互式的,这样在脚本中显然是不太好的,因此上网查找资料,发现了以下两种常见的非交互式设置密码的方式: 1:使用chpasswd chpasswd其实是通过用户输入'用户名:密码'来更改一组用户的密码,还是一个可以批量修改密码的工具,具体的用法详见chpasswd用法,这里只做简单的介绍 格式:# echo 用户名:密码 | chpasswd 实例: 添加一个doiido的帐号,密码为123456 # echo doiido:12

Linux系统shell脚本编程——生产实战案例

Linux系统shell脚本编程--生产实战案例     在日常的生产环境中,可能会遇到需要批量检查内网目前在线的主机IP地址有哪些,还可能需要检查这些在线的主机哪些端口是开放状态,因此依靠手工来检查是可以实现,但比较费时费力,所以需要结合shell脚本来实现批量检查的功能,那么今天就来做个小小的实验. 1.开发脚本前准备 一般大家都知道,测试主机是否在线,常用的命令无非就是ping.nmap,因此,首先找一个地址来测试下ping命令的效果 [[email protected] scripts]

Linux下Shell脚本输出带颜色文字

Linux下Shell脚本输出带颜色文字 文本终端的颜色可以使用"ANSI非常规字符序列"来生成. 举例:    "echo -e \033[44;37;5m BLUE \033[0m" "echo -e \033[44;37;5m BLUE \033[0m BLACK" 需要修改的地方是红色带下划线的部分,其中[***m部分的内容换成下面的数字,后面的内容是自己想要上色的内容. 以上命令设置作用如下:背景色为蓝色,前景色为白色,字体闪烁,输出字

linux 之shell脚本练习

一. #!/bin/bash#自动添加用户,并使初始密码为用户账户名,且用户登录时强制其更改密码i=1while [ $i -le 15 ]do if [ $i -le 9 ]  then  useradd user0$i  echo "user0$i" | passwd --stdin user0$i &> /dev/null  chage -d 0 user0$i else  useradd user$i  echo "user$i" | pass

linux下shell脚本执行方法及exec和source命令

exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息. bash shell的命令分为两类:外部命令和内部命令.外部命令是通过系统调用或独立的程序实现的,如sed.awk等等.内部命令是由特殊的文件格式(.def)所实现,如cd.history.exec等等. 在说明exe和source的区别之前,先说明一下fork的概念. fork是linux的系统调用,用来创建子进程(child

Linux/Unix shell 脚本中调用SQL,RMAN脚本

Linux/Unix shell脚本中调用或执行SQL,RMAN 等为自动化作业以及多次反复执行提供了极大的便利,因此通过Linux/Unix shell来完成Oracle的相关工作,也是DBA必不可少的技能之一.本文针对Linux/Unix shell脚本调用sql, rman 脚本给出了相关示例. 一.由shell脚本调用sql,rman脚本 [python] view plain copy print? 1.shell脚本调用sql脚本 #首先编辑sql文件 [email protecte

linux:shell脚本的一些语法

读取文件的第一行并赋值给变量 var=`head -1 filename` #`不是单引号,是Esc下方的一个按键,为命令替换符,将命令行执行结果赋给var 读取文件的第N行并赋值给变量 var=`sed -n Np filename` #把N替换成数字 逐行读取文件 while read line do echo $line done < filename linux:shell脚本的一些语法,布布扣,bubuko.com

shell脚本:批量修改文件名(删除文件名中字符)

shell脚本:批量修改文件名(文件名中添加字符) 上一篇写过批量修改文件名(文件名中添加字符),工作中还存在这样的需求,批量修改文件名,删除文件名中的某些字符: 举例如下:批量改名,删除文件名中多余字符 目录下文件名为如下,要求去掉_finished. stu_102999_1_finished.jpg stu_102999_2_finished.jpg stu_102999_3_finished.jpg stu_102999_4_finished.jpg stu_102999_5_finis

Linux常用Shell脚本

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86