Just taking a stab at this ...
What I would try is to create a one-line script containing the reboot command. Make root the owner of the file, set the file permissions so that anyone can execute the file, and set the SUID bit so that the script runs as root.
Something like this:
Contents of /opt/public_reboot:
Code:
!#/bin/sh
/sbin/shutdown -r +1
# chown root:root /opt/public_reboot (redundant if file is created by root)
# chmod 4755 /opt/public_reboot
If you want to restrict use of the script, you could add a new user group, e.g. "reboot", add the desired users to that group, and set the permissions of the script so that only users in that group can execute the file:
# chown root:reboot /opt/public_reboot
# chmod 4750 /opt/public_reboot
As for whether it's a good idea, I'm not sure. What if you're in the middle of doing some critical maintenance, and someone decides to reboot?
----
Edit
I just remembered that SUID doesn't work on shell scripts, for security reasons. The above approach should still usable if the script is changed to Perl. Or maybe sudo would be a better approach.