免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2458 | 回复: 9
打印 上一主题 下一主题

shell编程中将密码作为参数传递给su命令的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-12-17 17:56 |只看该作者 |倒序浏览
我从一个普通用户su到另外一个普通用户,正常情况下每次都需要输入密码,能不能将密码作为参数写死在shell脚本里面,免得每次执行程序都需要有人在机器跟前输入密码

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2004-12-17 18:16 |只看该作者

shell编程中将密码作为参数传递给su命令的问题

出于安全的考虑,su是只有能够接受来自键盘的输入(密码)
如果需要使用特权命令,可以visudo,或者用expect来实现!

论坛徽章:
0
3 [报告]
发表于 2004-12-18 12:31 |只看该作者

shell编程中将密码作为参数传递给su命令的问题

试一下用

sleep 1
echo "密码"
sleep 1
echo "exit"
) | su -
我没试过哦,后果自护。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
4 [报告]
发表于 2004-12-18 13:09 |只看该作者

shell编程中将密码作为参数传递给su命令的问题

原帖由 "ZealeS" 发表:
试一下用

sleep 1
echo "密码"
sleep 1
echo "exit"
) | su -
我没试过哦,后果自护。

甭试!绝对是不可以的!  

论坛徽章:
0
5 [报告]
发表于 2004-12-18 13:27 |只看该作者

shell编程中将密码作为参数传递给su命令的问题

原帖由 "寂寞烈火" 发表:

甭试!绝对是不可以的!  


果然是不行,对不起,是我的错。

论坛徽章:
0
6 [报告]
发表于 2004-12-18 13:31 |只看该作者

shell编程中将密码作为参数传递给su命令的问题

只能sudo或者expect。
不过,expect一直不会做。

论坛徽章:
0
7 [报告]
发表于 2004-12-18 14:52 |只看该作者

shell编程中将密码作为参数传递给su命令的问题

来个expect的。
#!/opt/sfw/bin/expect
set timeout 10

spawn su -
expect "assword:*"
send "密码\r"
expect "bash-2.03#*"
send "df -k\r"
expect "bash-2.03#*"
send "exit\r"
close
wait
bash-2.03$ chmod 755 runexpect
bash-2.03$ runexpect
spawn su -
Password:
bash-2.03# df -k
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/dsk/c0d0s0      4639574 2897740 1695439    64%    /
/proc                      0       0       0     0%    /proc
fd                         0       0       0     0%    /dev/fd
mnttab                     0       0       0     0%    /etc/mnttab
swap                  580368       8  580360     1%    /var/run
swap                  580676     316  580360     1%    /tmp
bash-2.03# exit
bash-2.03$

这次绝对测试通过。solaris8环境

论坛徽章:
0
8 [报告]
发表于 2004-12-18 15:14 |只看该作者

shell编程中将密码作为参数传递给su命令的问题

呵呵,谢了兄弟。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
9 [报告]
发表于 2004-12-18 15:47 |只看该作者

shell编程中将密码作为参数传递给su命令的问题

总想学学expect,可是一直没有时间 唉~~~

论坛徽章:
0
10 [报告]
发表于 2004-12-18 16:55 |只看该作者

shell编程中将密码作为参数传递给su命令的问题

感觉上expect在使用中大多只用到
timeout,spawn,expect 和send 。
至于其它语法,现在的shell这么强,很少用得着。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP