我需要如何更改内核才能执行以下操作。
Login:User
Password:<enter passwd 1>
Password incorrect
Password:<enter passwd 2>
Password incorrect
Password:<enter passwd 3>
User is logged in
示例显示用户依次使用 3 个密码(第一个返回不正确)登录。
最简单的方法是编写一个要求多个密码的PAM 。无需接触内核。
我建议每次登录时问三个问题比试图保持输入了多少先前正确密码的状态更干净。否则,您可能会发生同时登录或工具尝试使用保存的(最后)密码登录的潜在交互......面对正确但错误的密码,也需要考虑锁定策略。您还必须确保该模块没有给出部分密码正确的外部迹象。
三个密码在逻辑上等同于一个长密码,并带有一个额外的模糊度量元素。加强密码长度/复杂性要求可能更简单。