Если SUID-bit в порядке, копайте настройки PAM по каждому модулю в отдельности. Для большинства можно включить debug в параметрах и получить отладочный вывод. Подробности читайте в man pam_имямодуля.
Может стоять, например, проверка шелла, тогда убедитесь, что шелл пользователя верный, запускается и перечислен в /etc/shells. Убедитесь, что пользователь верно прописан в /etc/passwd и /etc/shadow, и состоит в нужных группах. Убедитесь, что есть сами модули pam. Запустите su через strace и посмотрите, на каком месте он останавливается.