linux - 当满足某些条件时 Hook 到 linux 身份验证以运行脚本或程序

标签 linux security authentication encryption

使用 ecryptfs 或 encfs(可能更多)实际的解密密码保存在一个由密码解密的文件中。

正因为如此,如果偏执(或试图给人留下深刻印象)您可以在几毫秒内有效地将所有加密数据粉碎为美国国防部标准(通常是整个主目录)。

我想设置我的计算机(或者至少是我的 vbox 系统),以便在输入特定密码或连续输入错误密码一定次数后粉碎包装的密码。

这很容易,但我不知道如何进入 linux 身份验证系统,以允许我检查不正确的密码和/或在文件上运行粉碎程序。

TL;DR:有人知道如何在错误登录使用特定密码时让 linux 粉碎文件吗?

最佳答案

一般来说,用于 Hook Linux 身份验证的方法是通过 PAM .要么编写您自己的 PAM 模块,要么找到一个可以强制执行您想要的操作的模块。

我能看到的最简单的选项是 pam_script .

安装,然后将 auth optional pam_script.so 放入/etc/pam.d 中的适当文件中,并编写一个查看 $PAM_USER 和 $PAM_AUTHTOK 的 pam_script_auth 脚本。

请注意,该脚本可以以 root 或用户身份运行,因此在存储密码失败数据时需要特别注意权限。

没有多次失败版本的简单版本有点像:

if [ $PAM_USER = "jv" ] && [ $PAM_AUTHTOK = "ThePoliceHaveMe" ]; then
  shredcommand
fi

关于linux - 当满足某些条件时 Hook 到 linux 身份验证以运行脚本或程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5284624/

相关文章:

sql-server - 我应该为客户端提供具有 'db_owner' 角色的 SQL Server 登录名吗?

javascript - 在浏览器中使用 Azure 移动应用 JavaScript 客户端访问经过身份验证的表

asp.net - 跨子域共享 ASP.NET cookie

linux - git 守护进程 : "unable to allocate any listen sockets on host (null) port 9418"

linux - Bash 语句在此处 doc 中时挂起

python - 将原始 OpenCV 图像通过管道传输到 FFmpeg

security - 相互 SSL - 多少身份验证就足够了?

c - 为什么从 bash 脚本调用超时程序会导致 tcsetattr 挂起?

node.js - 在 mongodb/node 中存储敏感数据

php - 在 PHP 中加密 cookie