Bash 从脚本中为其他用户添加cronjob?
我有一个由用户“www data”执行的脚本,它需要添加几个在用户“test”下运行的cronjob 失败,因为显然www数据没有写入该文件夹的权限,我怀疑更改文件夹权限是个好主意Bash 从脚本中为其他用户添加cronjob?,bash,cron,Bash,Cron,我有一个由用户“www data”执行的脚本,它需要添加几个在用户“test”下运行的cronjob 失败,因为显然www数据没有写入该文件夹的权限,我怀疑更改文件夹权限是个好主意 #!/bin/bash (crontab -u test -l ; echo "* * * * * /usr/local/bin/test.sh") | crontab -u test - Gives必须具有使用-u的特权,尽管将www-data-ALL=(root)NOPASSWD:/usr/
#!/bin/bash
(crontab -u test -l ; echo "* * * * * /usr/local/bin/test.sh") | crontab -u test -
Gives必须具有使用-u
的特权,尽管将www-data-ALL=(root)NOPASSWD:/usr/bin/crontab
添加到visudo
必须注意的是,无法通过ssh将作业手动添加到服务器中。我正试图通过一个基于web的界面来实现这一点,该界面允许用户选择一些值,然后在框上运行脚本来进行设置
如何让“www data”为用户“test”创建一个cronjob?基本上,没有超级用户访问权限,您无法执行此操作,因为这是一种安全违规行为。
由于我们最有可能谈论的是共享主机,可能没有办法配置sudo规则或在/etc/cron.d/中创建文件,但可能有一些用户界面来配置cronjobs。为了让您添加的
sudo
特权发挥任何作用,您必须实际使用sudo
#/bin/bash
(crontab-u-test-l;
echo“***/usr/local/bin/test.sh”)|
sudo-crontab-u测试-
# ^^
@tripleee
谢谢你让我走上了正确的道路。将sudo置于这两个命令之前解决了这个问题
#!/bin/bash
( sudo crontab -u test -l;
echo "* * * * * /usr/local/bin/test.sh") |
sudo crontab -u test -
确保未设置要求
#!/bin/bash
( sudo crontab -u test -l;
echo "* * * * * /usr/local/bin/test.sh") |
sudo crontab -u test -