If a user needs to run a small set of administrative commands, the preferred approach is usually a carefully scoped sudo rule rather than making arbitrary programs setuid root.
Use sudo with least privilege
Edit sudo policy with visudo or a file under /etc/sudoers.d/. Grant only the exact commands required, and avoid broad rules such as unrestricted shells or editors that can escape to a shell.
sudo visudo
For example, an administrator might allow a support account to restart one specific service rather than giving full root access.
Why setuid root is risky
A setuid-root executable runs with elevated privileges regardless of who starts it. Any bug, unsafe file handling, environment-variable issue, command injection, or unexpected child process can become a privilege-escalation path.
Only purpose-built, carefully audited binaries should ever use setuid root. Do not apply chmod +s to scripts or general-purpose programs as a shortcut for privilege management.
For services, also consider systemd units, polkit policies, Linux capabilities, or dedicated service accounts when they fit the requirement better than full root privileges.