Use /etc/crontab instead of cron since you can use that to include a username that is used to start the command you need to start.
Example:
more /etc/crontab
shows
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --repor
t /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --repor
t /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --repor
t /etc/cron.monthly )
#
Include your line from cron into this file and add the username between dow (day of week) and command. The script will then be started as that user.
This is a bit better than doing this in a users crontab since you can include the same line in here for every user you need it and do not need to maintain several crontabs.
If you need root to access certain files you should change the permissions for it or create a group that includes that command and your users.