Рассмотрим просто:
# consider success given a match, but continue on to other auth steps in addition
auth pam_succeed_if.so user = user5
... или ...
# perform no further auth steps if this succeeds
auth [success=done] pam_succeed_if.so user = user5
В success=ignore default=1
флаги имеют смысл в сценарии, где ближайший следующий модуль - это то, что вы хотите выполнить для user5, но пропустите для всех других пользователей. Этот сценарий - это не то, что вы называете своим намерением.
Тем не менее, su
не может быть правильным инструментом для этой работы на всех. Рассмотрим двоичный файл setuid (например, оболочку), принадлежащий user5
(с неизменяемым флагом или файловой системой только для чтения, если вы действительно не хотите, чтобы user5 мог его модифицировать).
Это, вероятно, лучше подходит для ServerFault или Unix SE (http://unix.stackexchange.com/), поскольку то, что вы делаете, это конфигурация, а не программирование. –
Тем не менее, вы настроили PAM для ведения журнала на уровне отладки в syslog? Если у вас появилось сообщение об ошибке, это было бы намного полезнее, чем «не работает». (См. Также http://serverfault.com/questions/249671/switch-on-pam-debugging-to-syslog) –
Нет сообщения об ошибке, я попытался получить идентификатор user5 после того, как поместить эту строку в su файл, но он по-прежнему требует пароль. – alejaandroe