linux 修改超级权限密码,linux 修改用户密码
本文章总结了如何手动、自动修改本地用户密码及远程机器的用户密码。对做自动化测试提供了自动修改用户密码的原理及方法。
修改本地用户密码:
1、交互配置本地用户:
以root用户:
passwd
Changing passWord for user dewang.
New UNIX passWord:
BAD PASSWord: it is too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
以非root用户修改自己的密码(注后面不能跟用户名,只有root用户才允许):
passwd
Changing password for user dewang.
Changing password for dewang
(current) UNIX password:
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
2、非交互配置本地用户:
echo | passwd --stdin
或
echo : | chpasswd
或
将:对先写到一文件passwd.tmp中,然后执行
chpasswd < passwd.tmp
3、自动脚本处理:
根据passwd命令修改用户密码,格式为:xxx.sh
#!/bin/sh
# \
exec expect -f "$0" ${1+"$@"}
if { $argc != 2 } {
puts "Usage: $argv0 "
exit 1
}
set password [lindex $argv 1]
spawn passwd [lindex $argv 0]
sleep 1
expect "assword:"
send "$password\r"
expect "assword:"
send "$password\r"
expect eof
说明:如果要通过shell直接调用expect相关命令,则开头中必须是如下格式,然后后面即可按照expect、TCL格式书写了。
#!/bin/sh
# \
exec expect -f "$0" ${1+"$@"}
根据echo | passwd --stdin 及 echo : | chpasswd来修改用户密码:
#!/bin/sh
if [ $# -ne 2 ] ; then
echo "Usage: `basename $0` "
exit 1
fi
#echo "$2" | passwd --stdin "$1"
echo "$1:$2" | chpasswd
if [ $? -eq 0 ] ; then
echo "change password for $1 success"
else
echo "change password for $1 failed"
fi
修改远程主机上用户密码:
1、交互配置远程用户:
echo | ssh -l root passwd --stdin
如:
echo "newpass" | ssh -l root 10.11.103.151 passwd --stdin dewang
root@10.11.103.151's password:
Changing password for user dewang.
passwd: all authentication tokens updated successfully.
或
echo : | ssh -l root chpasswd 2>&1
或
将:对先写到一文件passwd.tmp中,然后执行
chpasswd < passwd.tmp [作者未测试]
或
ssh -l root
.... 交互输入root密码
然后执行以上的所有可用方式均可
2、非交互配置远程用户:
则需要用到expect来进行处理,通过ssh登录到远程机器,然后结合上述配置方式,以完成自动修改用户密码。
#!/usr/bin/expect
#@brief to change user password by ssh remote machine
proc usage {funcname} {
puts "Usage: "
puts " $funcname -user "
puts " $funcname -root "
}
# check param
if { $argc != 5 } {
usage $argv0
exit 1
}
# get param
set host [lindex $argv 0]
set username [lindex $argv 1]
set newpasswd [lindex $argv 2]
set loginname "root"
if { [string compare [lindex $argv 3] "-user"] == 0 } {
set loginname $username
}
set passwd [lindex $argv 4]
puts "$host $username $newpasswd $loginname $passwd"
spawn ssh -l $loginname $host
expect {
"*(yes/no)*" { send "yes\r"; set sshkey 1 }
"*assword:*" { send "$passwd\r"; set sshkey 0 }
if sshkey == 1 {
expect "*password:*"
send "$passwd\r"
}
}
expect "*#"
if { [string compare $loginname "root"] == 0 } {
#send "echo \"$username:$newpasswd\" | chpasswd\r"
send "echo \"$newpasswd\" | passwd --stdin \"$username\"\r"
} else {
send "passwd\r"
expect {
"*current*assword:" {send "$passwd\r"}
"passwd: Authentication token manipulation error" {exit}
}
expect "New*assword:"
send "$newpasswd\r"
expect "Retype*assword:"
send "$newpasswd\r"
}
expect "*#"
send "exit\r"
#interact 是否将交互权接过来,如果接过来,则用户这时可进行交互操作
linux 修改超级权限密码,linux 修改用户密码相关推荐
- linux登录超级权限管理,Linux操作系统中超级权限控制的应用(3)
实例四: 比如我们想用beinan普通用户通过more /etc/shadow文件的内容时,可能会出现下面的情况: [beinan@localhost ~]$ more /etc/shadow /et ...
- linux中文件权限 组,linux中文件权限格式与chmod命令以及用户和用户组的管理
简单了解一下linux中的文件权限格式与chmod命令 chmod命令:改变文件或者目录的权限 格式:chmod [参数] [] -R 或者--recursive 递归处理,表示将指定目录下的所有文件 ...
- 教你如何修改铁威马NAS的用户密码
TOS (TerraMaster Operating System) 是专门为 TNAS 设备设计的基于网页界面的操作系统.那么如何修改铁威马NAS的用户密码呢? 第一种 1.登录TOS系统: 2.右 ...
- 【转】SharePoint 2013中修改windows 活动目录(AD)域用户密码的WebPart(免费下载)
前段时间工作很忙,好久没更新博客了,趁国庆休假期间,整理了两个之前积累很实用的企业集成组件,并在真正的大型项目中经受住了考验:.Net版SAP RFC适配器组件和SharePoint 2013修改AD ...
- SharePoint 2013中修改windows 活动目录(AD)域用户密码的WebPart(免费下载)
转:http://www.cnblogs.com/nbpowerboy/p/3355943.html 前段时间工作很忙,好久没更新博客了,趁国庆休假期间,整理了两个之前积累很实用的企业集成组件,并在真 ...
- 服务器密码修改db2数据库密码错误,DB2用户密码的修改鱼数据库备份恢复的相关问题...
此文章主要向大家讲述的是DB2用户密码的修改以及数据库备份恢复的相关问题的描述,如果你对DB2用户密码的修改以及数据库备份恢复德相关问题的描述有兴趣的话,你就可以对以下的文章点击观看了. 前天开始安装 ...
- linux指令scp需要密码吗,linux下 scp命令不需要输入用户密码
linux下 scp命令不需要输入用户密码 在两台机器的两个用户之间建立安全的信任关系后,可实现执行scp命令时不需要输入用户密码. 1. 在机器Client上root用户执行ssh-keygen命令 ...
- linux文件的权限模式,Linux文件权限和访问模式
为了更加安全的存储文件,Linux为不同的文件赋予了不同的权限,每个文件都拥有下面三种权限: 所有者权限:文件所有者能够进行的操作 组权限:文件所属用户组能够进行的操作 外部权限(其他权限):其他用户 ...
- Linux中文件权限查看和修改
权限定义 linux文件权限分为:r读权限(4).w写权限(2).x执行权限(1) linux权限对象分为:拥有者.组用户.其他用户 权限修改: chown user:group /usr/local ...
最新文章
- 【黑金视频连载】FPGA NIOSII视频教程(12)--时间戳定时器实验
- opencv对应python版本_【求问各位大佬python3.6怎么使用opencv,用哪个版本】python3 opencv...
- UIControl-IOS开发
- 前端开发 样式表的建立和优先级 0229
- Java 猜字谜游戏
- 【SSH进阶】No result defined for action **的解决方案
- ROS的学习(十二)用C++写一个简单的发布者
- 亚信安全特邀出席2016首届国际反病毒大会
- matlab 流星雨,dijkstra算法及其matlab实现
- 很多的计算机英语词汇是通过,计算机英语词汇隐喻分析
- 物 理 学 简 介(三)
- 一个能够让你快速从html结构生成css结构的vscode插件
- 移动开发利器-Bmob后端云使用体验
- 即将奔三的90后,你们有多少存款
- python中让输出不换行
- 冰河的高并发电子书开源啦(文末免费领取)!!
- 李阳疯狂英语-228句口语要素
- 借助花生壳使用公网远程连接Jetson nano
- JVM成神之路-JVM引用模型
- linux文件中插入多行技巧
热门文章
- 2020-11-5(安卓)
- 如何跟踪log4j漏洞原理及发现绕WAF的tips
- 栈的应用就进匹配_笔记
- 【生活】 戴尔XPS 插上耳机之后,说话没声音,麦克风失效 window10 系统
- 2021夏季每日一题 【week2 未完结】
- 项目: 用C语言写一个图形化的音乐播放器 【C++ / C】
- jQuery获取元素内容
- 为什么牛逼的程序员都不用 “ ! = null 做判空?
- 算法每日学打卡:java语言基础题目打卡(16-18)
- 【struts2+hibernate+spring项目实战】统一异常处理(ssh)