当前位置: 技术问答>linux和unix
我用su - 用户 怎样才能实现把密码写在一行,而不用提示输入密码?
来源: 互联网 发布时间:2015-06-03
本文导语: 我用su - 用户 怎样才能实现把密码写在一行,而不用提示输入密码 | 呵呵,su本身会去调passwd这个程序,而passwd会检测,必须从终端上得倒输入,所以任何重定向都是不起作用的,但是…...
我用su - 用户 怎样才能实现把密码写在一行,而不用提示输入密码
|
呵呵,su本身会去调passwd这个程序,而passwd会检测,必须从终端上得倒输入,所以任何重定向都是不起作用的,但是……有一个东东有用,就是expect,它通过伪终端和spawn出来的程序通信,而伪终端是passwd会认的,不然网络登陆就不行了,呵呵,简单的脚本如下:
#!/usr/bin/expect -f
spawn su -l
expect "Password:*"
sleep 1
send "your passwordr"
expect "root]#"
interact
exit
---------------------------
当然这种方式的主要用途不是提供给别人用哈,不然密码的随意暴露也太危险了,所以它是一种当前使用非常广泛、用于批处理自动化测试的脚本语言。类似于上面脚本,你在自己机器上当然也可以为了省事而这样做,呵呵
#!/usr/bin/expect -f
spawn su -l
expect "Password:*"
sleep 1
send "your passwordr"
expect "root]#"
interact
exit
---------------------------
当然这种方式的主要用途不是提供给别人用哈,不然密码的随意暴露也太危险了,所以它是一种当前使用非常广泛、用于批处理自动化测试的脚本语言。类似于上面脚本,你在自己机器上当然也可以为了省事而这样做,呵呵
|
????不明白
|
好像不行,要么你自己写个su,反正linux是源代码公开的
|
但是如果你是root,那么你就不需要密码就可以直接转换为你希望的用户
|
默认安装好像没有这个包,你需要从安装光盘或网上去下载
|
hehe,现在用expect的人多了不少哦,