用expect实现su -c功能,身份切换

在网格portal中,有时候需要web服务器中实现身份切换,这个脚本的内容可以实现:

> cat test.sh
#!/usr/bin/expect -f
spawn -noecho su [lindex $argv 0] -c [lindex $argv 2]
set password [lindex $argv 1]
expect "*assword:"
send "$password\r"
expect eof
exit 

调用脚本,以用户user的身份执行命令

./test.sh user user's-password "ls -ivh /home/user"

这样就可以在web程序中实现身份切换来执行相应权限的操作,比如文件管理

转载于:https://www.cnblogs.com/Donal/archive/2010/03/26/1697267.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值