su does not change user but does not respond with an error either
Check what shell the user has in
/etc/passwd. If the shell is
/bin/false (a common shell to disallow logins), then you will see the behavior you describe. Alternatively, it may be some other immediately-terminating program that gives the same effective result.
I'd suggest using strace on the su process to see where the process is failing.
strace su donaldduck
Should give you LOTS of output to sort through, but something in there should indicate where the problem is occurring.
You should check the shell in
/etc/passwd, and, without wishing to be patronising, check the output of
whoami after running