帮忙看看,这个小脚本的一个困惑
-
- 帖子: 11
- 注册时间: 2010-01-08 23:05
帮忙看看,这个小脚本的一个困惑
#!/bin/bash
echo "job begain at :"
date
$AMBERHOME/exe/sander -O -i heat.in -o heat.out -p com_solvated.prmtop -c min.rst -r heat.rst -x heat.mdcrd -ref min.rst
$AMBERHOME/exe/sander -O -i density.in -o density.out -p com_solvated.prmtop -c heat.rst -r density.rst -x density.mdcrd -ref heat.rst
$AMBERHOME/exe/sander -O -i equil.in -o equil.out -p com_solvated.prmtop -c density.rst -r equil.rst -x equil.mdcrd
echo "done !"
date
这是我些的一个小脚本, 现在的困惑是我想在后面加一句关机的命令,让程序运行完后自动关机。可是我在后面直接加入shutdown -h now 后,因为权限限制,要输入密码。怎么办,这个问题怎么解决,高手帮帮忙
echo "job begain at :"
date
$AMBERHOME/exe/sander -O -i heat.in -o heat.out -p com_solvated.prmtop -c min.rst -r heat.rst -x heat.mdcrd -ref min.rst
$AMBERHOME/exe/sander -O -i density.in -o density.out -p com_solvated.prmtop -c heat.rst -r density.rst -x density.mdcrd -ref heat.rst
$AMBERHOME/exe/sander -O -i equil.in -o equil.out -p com_solvated.prmtop -c density.rst -r equil.rst -x equil.mdcrd
echo "done !"
date
这是我些的一个小脚本, 现在的困惑是我想在后面加一句关机的命令,让程序运行完后自动关机。可是我在后面直接加入shutdown -h now 后,因为权限限制,要输入密码。怎么办,这个问题怎么解决,高手帮帮忙
- adam8157
- 帖子: 2794
- 注册时间: 2009-03-05 16:31
- 联系:
-
- 帖子: 11
- 注册时间: 2010-01-08 23:05
Re: 帮忙看看,这个小脚本的一个困惑
不行,不能用root 用户运行,因为我的环境变量在root下不起作用。有没有其他办法adaml 写了:sudo -S
或者这个脚本就用root或sudo运行
-
- 论坛版主
- 帖子: 21308
- 注册时间: 2007-08-02 20:29
- 系统: 窓辺とうこ
Re: 帮忙看看,这个小脚本的一个困惑
用sudo执行,环境变量还是原来那个用户的
- jxcangel
- 帖子: 2
- 注册时间: 2010-03-31 14:32
Re: 帮忙看看,这个小脚本的一个困惑
只有普通用户权限,但硬是要用root权限才有的操作,这个似乎非常困难,如果真的可以这么做了,也就完全没有安全性可言了。
这种情况下,大概只能2选1,要么用root权限运行这个脚本,要么在普通权限里面删除掉需要root权限的操作。
但是如果知道root的密码的话,倒是可以用 Expect 来模拟 su 的操作,获取到完整的root环境。
在网上找一下 expect 的教程吧,我这里这是给你一个思路。
这种情况下,大概只能2选1,要么用root权限运行这个脚本,要么在普通权限里面删除掉需要root权限的操作。
但是如果知道root的密码的话,倒是可以用 Expect 来模拟 su 的操作,获取到完整的root环境。
在网上找一下 expect 的教程吧,我这里这是给你一个思路。
-
- 帖子: 11
- 注册时间: 2010-01-08 23:05
Re: 帮忙看看,这个小脚本的一个困惑
首先非常感谢你的帮助,你给的思路不懂是什么意思?expect模拟root是什么意思。我想怎么能吧密码放在我的bash脚本里面,让程序运行到sudo shutdown这一步的时候,脚本里面不是有密码吗,怎么能让脚本像人一样吧密码输入进去实行关机。jxcangel 写了:只有普通用户权限,但硬是要用root权限才有的操作,这个似乎非常困难,如果真的可以这么做了,也就完全没有安全性可言了。
这种情况下,大概只能2选1,要么用root权限运行这个脚本,要么在普通权限里面删除掉需要root权限的操作。
但是如果知道root的密码的话,倒是可以用 Expect 来模拟 su 的操作,获取到完整的root环境。
在网上找一下 expect 的教程吧,我这里这是给你一个思路。
我非得用普通用户执行这个关机命令,就如你所说,只有普通用户权限,但硬是要用root权限才有的操作。
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
-
- 帖子: 11
- 注册时间: 2010-01-08 23:05
Re: 帮忙看看,这个小脚本的一个困惑
什么啊?,xxx, yyy是什么,,你这个是干什么的?eexpress 写了:是 echo xxxx|sudo -s yyyy
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
-
- 帖子: 2
- 注册时间: 2007-07-24 10:06
Re: 帮忙看看,这个小脚本的一个困惑
用root执行visudo
在里面设置一下权限
bigarmy ALL=(root) NOPASSWD: /sbin/shutdown *
就是允许bigarmy这个账户执行shutdown命令,带任何参数,不需要输入密码
在里面设置一下权限
bigarmy ALL=(root) NOPASSWD: /sbin/shutdown *
就是允许bigarmy这个账户执行shutdown命令,带任何参数,不需要输入密码