gpt4 book ai didi

cron - 如何以与根 cronjob 不同的用户身份运行命令?

转载 作者:行者123 更新时间:2023-12-03 11:54:16 27 4
gpt4 key购买 nike

我似乎陷入了 NFS 限制和 Cron 限制之间。

所以我有 root cron(在 RHEL5 上)运行一个 shell 脚本,除其他外,需要通过 NFS 挂载 rsync 一些文件。并且 NFS 挂载上的文件由模式 700 的 apache 用户拥有,因此只有 apache 用户可以运行 rsync 命令——以 root 身份运行会产生权限错误(NFS 显然是一种罕见的情况,其中 root 用户是不是万能的?)

当我只想手动运行 rsync 时,我可以使用“sudo -u apache rsync ...”但是 sudo 在 cron 中没有工作——它说“sudo:抱歉,你必须有一个 tty 才能运行 sudo”。

我不想将整个脚本作为 apache 运行(即来自 apache 的 crontab),因为脚本的其他部分确实需要 root ——这只是一个需要作为 apache 运行的命令。而且我真的不希望更改文件的模式,因为这将涉及对其他应用程序的重大更改。

一定有办法从cron完成“sudo -u apache”??

谢谢!

最佳答案

使用su而不是 sudo :

su -c "rsync ..." apache

关于cron - 如何以与根 cronjob 不同的用户身份运行命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1329564/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com