挂钩进入linux身份验证,以便在满足某些条件时运行脚本或程序

J V*_*J V 7 linux security authentication encryption

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

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

如果输入了特定密码,或者连续输入了一定次数的错误密码,我想设置我的计算机(或者至少是我的vbox系统)来粉碎包装的密码短语.

这将是很容易,但我不知道怎么去到Linux认证系统在一定的水平,让我检查不正确的密码和/或运行文件碎化计划.

TL; DR:如果不正确的登录使用了特定的密码,任何人都知道如何让linux粉碎文件?

fre*_*eit 10

通常,用于挂钩到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
Run Code Online (Sandbox Code Playgroud)


Zed*_*Zed 5

已经发布了很好的答案,解释了如何使用可插拔认证模块做你想做的事情,所以我不再重复了.

要记住三件事:

首先,当您在一定数量的登录失败后自动粉碎加密密钥时,您会遇到一个令人讨厌的拒绝服务漏洞,任何人都可以通过不正确地重复登录来销毁所有数据.

其次,你可能认为它会在"他们"得到你的机器时起作用,但事实并非如此,因为在试图打破你的加密或猜测你的密码时,没有人会用你的系统来做.任何人都要做的第一件事就是复制原始分区并在安全的环境中使用您的数据,在这种环境中,他们可以确保他们尝试读取的数据不会在此过程中被破坏.

第三,至于在几毫秒内将整个数据粉碎成美国DOD标准,记得还要粉碎整个交换分区,或者首先不使用一个.此外,虽然看起来不需要,但请记住也要粉碎RAM的内容,因为即使断电后RAM的内容有时也可以恢复.