首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当从crontab执行时,sudo密码自动化不像预期的那样工作?

当从crontab执行时,sudo密码自动化不像预期的那样工作?
EN

Stack Overflow用户
提问于 2013-04-17 08:13:40
回答 1查看 829关注 0票数 1

我有一个shell脚本如下所示。

abc.sh

代码语言:javascript
运行
复制
echo "Password" | sudo -S /etc/init.d/mysqld status

当我直接从shell执行时,它工作得很好。当我试图执行与cron (crontab)相同的程序时,我的问题就出现了,它不起作用。sudo -S选项与crontab不太兼容。在shell脚本中是否有其他选项可以指定sudo密码(自动化)?

如果我有根访问权限,我可以通过添加NOPASSWD选项来修改/etc/sudoers文件。但不幸的是,我没有修改/etc/sudoers文件的根访问权限。我只有执行某些命令的sudo访问权限。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-31 15:53:07

Sudo -S似乎在我的Ubuntu12.04上工作:

代码语言:javascript
运行
复制
# m h  dom mon dow   command
 * * * * * cat /etc/shadow > /tmp/shadow.txt 2>&1

在以下方面的成果:

代码语言:javascript
运行
复制
$ cat /tmp/shadow.txt 
cat: /etc/shadow: Permission denied

鉴于

代码语言:javascript
运行
复制
# m h  dom mon dow   command
* * * * * echo 'password' | sudo -S cat /etc/shadow > /tmp/shadow.txt 2>&1

在以下方面的成果:

代码语言:javascript
运行
复制
$ head /tmp/shadow.txt 
[sudo] password for user: root:!:15736:0:99999:7:::
daemon:*:15453:0:99999:7:::
bin:*:15453:0:99999:7:::
...

编辑

下面是一个让上面的Ubuntu代码在CentOS 6.4上工作的黑客:

代码语言:javascript
运行
复制
* * * * * export DISPLAY=:0 && gnome-terminal -e 'bash -c "echo password | sudo -S cat /etc/shadow > /tmp/shadow 2>&1"'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16054900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档