3

在 Windows XP 下,我看到一些商业软件可以使用 USB 设备保护计算机。也就是说,屏幕保护程序会像往常一样在一段时间后激活。但要停用,您不仅需要密码,还需要插入 USB 设备。该设备包含证书,必须在停用屏幕保护程序之前进行验证。

我正在寻找一些方法来用 Python 实现这样的功能。我在 Ubuntu 软件中心进行了搜索,发现 BlueProximity 是最接近我的目的但仍然不同的软件。该软件监控某个蓝牙设备,它的存在用于定期模拟用户活动以避免屏幕保护程序的激活。

当然,我可以做一个类似的程序,定期检查某个 USB 磁盘的存在并验证其包含的证书,如果一切正常,则将屏幕保护程序作为一些用户活动,否则锁定屏幕。

然而,这不是立竿见影的。假设有人偷了我的密码来解锁屏幕保护程序,而不是 U 盘,那么他可以解锁屏幕。并且在至少一分钟左右的时间内,屏幕应该再次被锁定。即使我的程序有一个相当短的检查周期——比如 0.1 秒,一个和另一个锁定之间存在从 0.1 秒和缓慢衰减的时间成本(通常接近 1 秒)的间隔总和。

那么有没有更好的解决方案,比如我的程序可以告诉屏幕保护程序拒绝以任何方式解锁的一些 API?

4

1 回答 1

1

您可能想看看PAM(可插入身份验证模块)。该解决方案将更通用、更健壮,并且可以应用于任何依赖 PAM 进行身份验证的程序。

于 2012-08-12T00:02:30.883 回答