The root cause of this problem is simple, technical, and absolute:
A regular user runs su , but it has no authority to verify credentials or switch accounts, resulting in the "must be suid" error.
This issue typically occurs after manual file migrations or system updates:
is a single multi-call binary that acts like a "Swiss Army Knife" for many commands. The Conflict: If you set the SUID bit on the main BusyBox binary, command it runs (like
Without SUID, when you run busybox su as a regular user, the resulting process has:
After setting SUID, test:
Many systems use individual symlinks . Only the symlink for su should be granted elevated privileges if the system supports it, though often the main binary must hold the bit.
The BusyBox binary is owned by a standard user instead of root .