К сожалению, мне нужно включить telnet для одного пользователя на Linux-машине. Всем остальным придется использовать ssh.
Как мне настроить PAM, чтобы ограничить доступ пользователей к серверу telnet?
Ты можешь использовать pam_succeed_if в твоем /etc/pam.d/telnet
или аналогичный файл:
auth required pam_suceed_if.so user = ${telnet_user} quiet
Где $ {telnet_user} - это пользователь, которому разрешено использовать telnet.
Но, если вы не знали, telnet - это плохо. Детали разрешенной учетной записи могут быть легко обнаружены и могут позволить другим людям использовать учетную запись. Вы действительно используете SSH, если это вообще возможно.
Изменить: Упс, обманули логику. Спасибо, joeforker.
Вы можете использовать pam_localuser:
http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/sag-pam_localuser.html
of для более гибкого подхода, pam_listfile:
http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/sag-pam_listfile.html
Оба в основном ищут разрешенные / запрещенные имена пользователей в локальном файле и проверяют логины по ним.
Я вижу, что на RHEL 5 это невозможно, поскольку «telnet-server» и «krb5-telnet» не совместимы с PAM. Запуск "ldd" в этих двоичных файлах не дает ссылки на библиотеку pam. Пользователь должен сам скомпилировать telnet-сервер с поддержкой PAM.