我将 OpenVPN 与 PAM 结合使用,通过用户名/密码进行用户身份验证。我创建了一个自定义的 PAM 文件,如下所示:
auth required pam_unix.so shadow nodelay
auth requisite pam_succeed_if.so user ingroup vpn
auth required pam_tally2.so deny=5 lock_time=5 unlock_time=1800 even_deny_root
account required pam_unix.so
Run Code Online (Sandbox Code Playgroud)
PAM 模块正确识别用户并对其进行身份验证,只允许 VPN 用户连接到虚拟网络。问题是,即使用户设法成功连接到 VPN,计数计数器也会继续上升,而不是重置为 0(在 pam_tally2 命令的帮助下发现)。
auth.log 不会记录任何可疑内容:
pam_succeed_if(openvpn:auth): requirement "user ingroup vpn" was met by user "test_user"
pam_succeed_if(openvpn:auth): requirement "user ingroup vpn" was met by user "test_user"
pam_succeed_if(openvpn:auth): requirement "user ingroup vpn" was met by user "test_user"
pam_succeed_if(openvpn:auth): requirement "user ingroup vpn" was met by user "test_user"
Run Code Online (Sandbox Code Playgroud)
在 Debian …
我有兴趣在多个步骤中呈现模板,或者将未定义变量的标记保留在Jinja2中。我相信这不仅意味着创建'UndefinedSilent'类(这样模板程序就不会因丢失数据而崩溃),而且还可以在标记丢失时使用适当的变量名来保留标记。
示例:假设上下文中包含名称=“ Test”,但是数量丢失。
Givet以下模板:
<p>{{name}} has {{quantity}}</p>
Run Code Online (Sandbox Code Playgroud)
渲染后,我需要模板变为:
<p>test has {{quantity}}</p>
Run Code Online (Sandbox Code Playgroud)
有人知道这是否可以实现吗?
谢谢。