I want to allow a user to switch as any user but not as root. Like su - usename, but not as root.

Just make sure they don’t know the root password.

Why not create a custom user role that allows specifically what you do and don’t want the members of that group to have access and rights?

It is a little dangerous to provide sudo access as, in my view it allows too much access.

I don’t know the version of Linux or Mac your using but all of them provide a X-window users and groups widget that you can add the default permission the OS provides or create more custom ones.

That would be the point of sudoers.

It seems like this could be possible, I would start by reading through the man page at