shell - 非交互方式改变登录用户密码
2008-10-22 22:45
218 查看
来自:Linux文档
现载:Www.8s8s.coM
地址:无名
用SHELL编写改变登录用户密码,
用户名、旧密码、新密码用重定向输入????
急得像热锅上的蚂蚁
从文件里读出数据,放进SHELL中
使用expect,(需要安装expect和tcl)。
#!/usr/local/bin/expect -f
set username $env(UNAME)
set password $env(UPASS)
spawn passwd $username
expect "New password:"
send "$password "
expect "Re-enter new password:"
send "$password "
send "exit "
expect eof
还可以用一个叫pty的工具,也需要下载安装。
#!/bin/sh
/etc/mknod out.$$ p; exec 2>&1
( exec 4<out.$$; rm -f out.$$
<&4 waitfor 'password:'
echo "$2"
<&4 waitfor 'password:'
echo "$2"
<&4 cat >/dev/null
) | ( pty passwd "$1" >out.$$ )
rm -f out.$$
纯shell的不行。用sleep加管道也不行。
使用如下的.c编译生成mypass可以代替passwd命令,配合awk之类工具,把它生成的结果写到shadow里(有的系统是是在passwd里),便可以了。
两位的salt可以随便生成。
#include <stdio.h>
#include <string.h>
main(argc,argv)
int argc;
char *argv[];
{
char line[512],salt[3];
int i,l;
salt[2]='
现载:Www.8s8s.coM
地址:无名
用SHELL编写改变登录用户密码,
用户名、旧密码、新密码用重定向输入????
急得像热锅上的蚂蚁
从文件里读出数据,放进SHELL中
使用expect,(需要安装expect和tcl)。
#!/usr/local/bin/expect -f
set username $env(UNAME)
set password $env(UPASS)
spawn passwd $username
expect "New password:"
send "$password "
expect "Re-enter new password:"
send "$password "
send "exit "
expect eof
还可以用一个叫pty的工具,也需要下载安装。
#!/bin/sh
/etc/mknod out.$$ p; exec 2>&1
( exec 4<out.$$; rm -f out.$$
<&4 waitfor 'password:'
echo "$2"
<&4 waitfor 'password:'
echo "$2"
<&4 cat >/dev/null
) | ( pty passwd "$1" >out.$$ )
rm -f out.$$
纯shell的不行。用sleep加管道也不行。
使用如下的.c编译生成mypass可以代替passwd命令,配合awk之类工具,把它生成的结果写到shadow里(有的系统是是在passwd里),便可以了。
两位的salt可以随便生成。
#include <stdio.h>
#include <string.h>
main(argc,argv)
int argc;
char *argv[];
{
char line[512],salt[3];
int i,l;
salt[2]='
相关文章推荐
- X-shell、putty秘钥登录方式整理、普通用户密钥登录
- 取消windows XP用户密码验证登录方式 分类: 开发常见问题解决方案 2010-04-11 08:07 1107人阅读 评论(0) 收藏
- 记一次登录程序的改进过程(改进记住密码功能、提高用户交互)
- linux 普通用户登录后,执行 shell脚本切自动输入密码切换到root
- 取消windows XP用户密码验证登录方式
- Android数据存储和访问之SharedPreferences存储方式_用户登录记住密码案例
- 记一次登录程序的改进过程(改进记住密码功能、提高用户交互)
- 禁止用户使用密码的方式登录服务器,让其使用key的方式登录
- 记一次登录程序的改进过程(改进记住密码功能、提高用户交互)
- 安装xampp之后如何建立远程登录用户并修改登录方式和密码
- 记一次登录程序的改进过程(改进记住密码功能、提高用户交互)
- shiro扩展获得用户登录类型并提供cookie的方式记住用户密码
- 记一次登录程序的改进过程(改进记住密码功能、提高用户交互)
- 记一次登录程序的改进过程(改进记住密码功能、提高用户交互)
- CentOS6.5下通过Shell修改MySQL初始密码,开启远程登录,授权远程登录用户
- 记一次登录程序的改进过程(改进记住密码功能、提高用户交互)
- 账号密码登录与用户交互
- 记一次登录程序的改进过程(改进记住密码功能、提高用户交互)
- 记一次登录程序的改进过程(改进记住密码功能、提高用户交互)
- CentOS6.5下通过Shell修改MySQL初始密码,开启远程登录,授权远程登录用户