Comment puis-je exécuter une commande en tant qu'utilisateur différent à partir de la racine de la tâche cron?

Me semble être coincé entre un NFS limitation et un Cron limitation.

Donc j'ai de la racine cron (sur RHEL5) l'exécution d'un script shell qui, entre autres choses, les besoins de rsync certains fichiers sur un montage NFS. Et les fichiers sur le montage NFS sont la propriété de l'utilisateur apache avec le mode de 700, de sorte que seul l'utilisateur apache pouvez exécuter la commande rsync -- exécute en tant que root donne une erreur d'autorisation (NFS être un cas rare, apparemment, où l'utilisateur root n'est pas tout-puissant?)

Quand je veux juste faire la rsync en main, je peux utiliser "sudo -u apache rsync ..." Mais pas de sudo workie dans cron-il est dit "sudo: désolé, vous devez disposer d'un terminal lancer la commande sudo".

Je ne veux pas exécuter le script en entier comme apache (c'est à dire à partir de apache crontab) parce que les autres parties du script ne nécessite racine, c'est juste que l'on commande qui doit fonctionner comme apache. Et je préfère vraiment ne pas changer le mode sur les fichiers, comme qui impliquent des changements significatifs à d'autres applications.

Il doit bien y avoir un moyen pour accomplir "sudo -u apache", à partir de cron??

merci!
rob

  • Pourraient être mieux servis par le déplacement de ce de SuperUser.com.
  • C'est une vieille question, mais toujours trouvé assez haute à la recherche de rangs, et aucune des réponses de l'adresse de pourquoi les permissions root n'a pas d'application pour le montage NFS. Pour quelqu'un d'autre trébuchant sur ce, la raison en est root_squash. Ce blog a pas mal de raisons pour lesquelles cette option est nécessaire et généralement définie par défaut. fullyautolinux.blogspot.com/2015/11/...
InformationsquelleAutor rob | 2009-08-25