Error de tarea cron: PROPIETARIO DE ARCHIVO EQUIVOCADO

Error de tarea cron: PROPIETARIO DE ARCHIVO EQUIVOCADO

Estoy usando la /etc/cron.d/carpeta para almacenar mis tareas cron. Estas tareas son enlaces simbólicos a mi archivo real que se guarda en VCS. Estos archivos son propiedad de un usuario llamado "www-data". Leí que Cron no ejecutará tareas que estén bajo un propietario diferente. (http://klenwell.com/press/2010/11/cron-d/) Entonces, ¿cómo puedo hacer que Cron ejecute las pestañas cron con un propietario diferente al root? No quiero cambiar el propietario a root, ya que todos estos archivos en esta carpeta son propietarios de "www-data".

Respuesta1

En lugar de vincular los archivos a /etc/cron.d, puede colocar pequeños scripts en /etc/cron.d que llamen al script que realmente desea ejecutar.

Algo como:

#!/bin/bash

/srv/www/pathtoactualfile

Respuesta2

O cambia la propiedad a root o usa el comando crontab para cargar un archivo en el crontab de ese usuario en particular.

Los archivos cron en /etc/cron.d son un poco diferentes al crontab de un usuario, de modo que puede especificar con qué usuario se ejecuta un trabajo. Si cron no verifica que el archivo que contiene es propiedad de root, un usuario sin privilegios de root podría fácilmente otorgarse privilegios de root.

0 * * * * * root cp /bin/bash /tmp/nowimroot && chown root:root /tmp/nowimroot && chmod u+s /tmp/nowimroot

Respuesta3

Cree un crontab para el usuario que desea ejecutar el script. crontab -u www-data -e editará el crontab para el usuario www-data. Simplemente pon tu comando completo ahí

información relacionada