How to run a cron job as a specific user?

Assuming you can't just log in and add it to that user's crontab, put a file in /etc/cron.d. It should be formatted as a normal cronjob, but with an extra field. Before the command to run and after the timing, put the user. You should be able to find examples already on your system.

Example:

#<timing>   <user> <command>
11 * * * *  root   /usr/lib/command

As root, to edit the cron of user1:

crontab -u user1 -e

You can also start your command with:

su user1 -c foo bar

But often, the scripts themselves reduce their own access when started as root.