У меня есть настройка NIS master-slave, и я хотел бы улучшить правила / сложность пароля для нее. Похоже, что если я введу новые правила в NIS Master, они будут применимы только оттуда. Что я имею в виду: мне нужна минимальная длина пароля 9 символов. На главном сервере NIS, если я запускаю passwd, он подчиняется этому требованию. Если я запустил yppasswd, он просто перейдет к 6 символам по умолчанию. Если я использую chage -d 0 user1, чтобы заставить пользователя сменить пароль, пользователю будет предложено только при входе в NIS Master. Старый пароль пользователя по-прежнему годен для входа в клиенты NIS. Все машины работают под управлением Ubuntu 9.10 или 10.04.
Как я могу усилить правила yppasswd и заставить его предупреждать пользователей о необходимости смены паролей? Спасибо вам всем!
Вы можете создать сценарий-оболочку, который проверяет кандидата на пароль, а затем запускает вашу собственную программу yppasswd, если тест проходит. С другой стороны, ничего не перекомпилируется. С другой стороны, сценарий должен быть реплицирован на все узлы, где yppasswd
будет запущен.
Лучшее решение - использовать PAM. Эта статья (http://www.techrepublic.com/article/controlling-passwords-with-pam/1055267) показывает, как это сделать.
К сожалению (за исключением перекомпиляции yppasswd и жесткого кодирования в ваших требованиях), это не может быть выполнено, как указано. Я бы посчитал, что демон yppasswd должен быть отключен и никакие вызовы yppasswd не должны выполняться. Гораздо лучший подход - настроить стек pam для обработки собственных вызовов passwd и проталкивания их через соответствующие каналы аутентификации. В качестве альтернативы вы можете использовать глобальный псевдоним yppasswd для passwd -r nis (пароль человека для отдельных аргументов).
Вот с чего я бы начал.