How can I create a user with read-only access to all files? (ie root without writing permissions)

Might I suggest another method to solve your problem that's less maintenance intensive.

You can create ssh keys which have limited access to specific programs. I dislike granting root unrestricted access, but sometimes you need to enable certain commands to be run via remote. With ssh keys you can have your backup program run via ssh command.

Check out the 'AUTHORIZED_KEYS FILE FORMAT' section in your sshd man page (I'm assuming you're using OpenSSH).

http://man.openbsd.org/OpenBSD-current/man8/sshd.8