LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1373|回复: 6

cron 执行脚本问题.........<怎么在脚本中开启一个终端>

[复制链接]
发表于 2007-6-18 14:45:38 | 显示全部楼层 |阅读模式
我自己写了个脚本. 并且检测....######执行成功#########
里面包含了sudo命令..
e.g
sudo /usr/sbin/lvcreate -L $LVSIZE -n ${Dest_back##*/} -s /dev/VG_Abel/LV_study

然后我把此脚本通过cron自动执行,,,,,确返回错误的信息
err:
sudo: sorry, you must have a tty to run sudo
sudo: sorry, you must have a tty to run sudo

那么我怎么在脚本中开启一个tty?

在问下...是不是脚本..在cron运行 都需要tty???
thans
 楼主| 发表于 2007-6-19 09:28:34 | 显示全部楼层
帮帮忙吧!!各位
回复 支持 反对

使用道具 举报

发表于 2007-11-8 17:43:59 | 显示全部楼层
must because its asking for your password. sudo is secure for that purpose so that it can't be scripted easily. You either can hook up expect to fake out the tty device or setup NOPASSWD option in /etc/sudoers
回复 支持 反对

使用道具 举报

发表于 2007-11-9 09:03:23 | 显示全部楼层
我问了N遍了
似乎没有人会
回复 支持 反对

使用道具 举报

发表于 2007-11-10 10:26:43 | 显示全部楼层
先用visudo把要运行的程序设置为不用密码运行就可以了.
比如我要不用密码运行shutdown,就在里面增加成这样:
lastart ALL=ALL,NOPASSWD: /sbin/shutdown
回复 支持 反对

使用道具 举报

发表于 2007-11-10 14:38:38 | 显示全部楼层
执行visudo命令(相当于执行vi /etc/sudoers)
注释掉: #Default requiretty 即可
回复 支持 反对

使用道具 举报

发表于 2007-11-14 14:01:22 | 显示全部楼层
如果需要输入密码之类的话建议使用expect来实现,这是linux的安全机制造成的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表