Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 从脚本中为其他用户添加cronjob?_Bash_Cron - Fatal编程技术网

Bash 从脚本中为其他用户添加cronjob?

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/

我有一个由用户“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/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 -