更改其他用户Crontab

我有一个(部署)脚本,在我的用户'我'下运行,它应该更改用户'ruby-server'的crontab。 我的权利,-u选项(的crontab)不帮助我很多,除非我使用sudo或su? 有没有办法,我可以更改其他用户crontab没有sudo或su。 (我可以访问整个系统。)

为什么你问这个问题? 回答:如果我将应用程序部署为“我”,并将其作为“ruby-server”运行,显然我想将crontab作为“me”编写,但命令应该位于“ruby-server”的crontab中。 因为如果有其他人部署,我们应该改变同一个用户的同一个crontab

编辑1

我有一组可以访问服务器的用户(“部署者”)。 我有一个用户(“ruby服务器”)有通过SSH和私人密钥访问到其他服务器来获取一些文件。 这个副本通过rsync脚本化,应该每天运行。 现在,我认为,如果“部署者”可以写入“ruby-server的crontab”来指定/更改文件的复制方式,那将会很酷。 想法?

如果您的系统具有ACL,您可以授予开发人员对cronfile的访问权限。 如果所有的部署者都是名为“deployers”的组的一部分,则可以使用下面显示的命令修改crontab文件,这将允许组的成员修改它。

setfacl -mg:wheel:rx /var/spool/cron/ # Grant read access to the directory setfacl -mg:deployers:rw /var/spool/cron/ruby-server 

请记住/ var / spool / cron / ruby​​-server必须具有适当的权限:如果您在/ var / spool / cron / ruby​​-server中看到“BAD FILE MODE”消息,“chmod 0600 / var / spool / cron /日志/ cron的

另外,文件系统必须启用ACL,像“tune2fs -l / dev / mapper / blah | grep -i acl”应该足够了(用/ dev / mapper / blah代替包含/ var / spool / cron的分区目录)

有没有办法,我可以更改其他用户crontab没有sudo或su

AFAIK,没有办法。 您需要sudo权限才能切换到另一个用户,并创buildcron作业。 为什么在完全访问系统时不想使用susudo