调用 pam_passwdqc.so 并报告密码强度、通过/失败的 C 程序

发布于 2024-10-14 01:13:47 字数 87 浏览 2 评论 0原文

是否可以(以及在哪里可以找到接口文档)编写一个简单的 C 程序来使用 pam_passwdqc.so 来确定潜在密码是否足够强大以通过 passwd 下的集合?

Is it possible (and where would I find the interface documentation) to write a simple C program to use pam_passwdqc.so to determine if a potential password will be strong enough to pass muster under passwd?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

遇见了你 2024-10-21 01:13:47

我认为您真正想要的是 libpasswdqc,它是 PAM 模块的独立版本。源/下载链接位于页面中间(注意,如果您只需要检查功能,您可能只需要库)。

文件 INTERNALS 将您指向标题,该标题简短且不言自明。文件 pwqcheck.c 几乎说明了您想要完成的任务。

至少在我的 Ubuntu 工作站上,我找不到没有安装所有 PAM 位的软件包。如果依赖关系对您来说有问题,独立库足够小,可以放入几乎任何树中。

然后,您可以尝试链接到 DSO,接口可能是相同的。我的操作系统打包它的方式,很难说。该库使用我所见过的最宽松的 BSD 许可证版本,因此将其放在适当的位置不是问题:

在源代码中重新分发和使用
二进制形式,有或没有
修改,是允许的。

本软件由
作者和贡献者“按原样”并且
任何明示或暗示的保证,
包括但不限于
适销性的默示保证
和针对特定目的的健身
被否认。在任何情况下都不得
作者或贡献者应承担责任
任何直接的、间接的、偶然的、
特别的、示范性的或后果性的
损害(包括但不限于
至,采购替代品或
服务;使用、数据丢失或
利润;或业务中断)
无论出于何种原因且基于任何理论
责任,无论是否在合同中,都是严格的
责任或侵权行为(包括
疏忽或其他原因)引起
有什么办法可以避免使用这个
软件,即使已告知
发生此类损坏的可能性。

I think what you actually want is libpasswdqc, which is the stand alone version of the PAM module. The source / download links are at the middle of the page(note, if you just want the checking functionality, you probably just want the library).

The file INTERNALS points you to the header, which is brief and self explanatory. The file pwqcheck.c illustrates pretty much what you want to accomplish.

At least on my Ubuntu workstation, I could not find a package that didn't also install all of the PAM bits. The stand alone library is small enough to drop into almost any tree, if the dependency would be problematic for you.

Then again, you could try linking to the DSO, The interface might be the same. The way my OS packages it, it's kind of hard to tell. The library uses the most permissive version of the BSD license that I've ever seen, so dropping it in place is a non-issue:

Redistribution and use in source and
binary forms, with or without
modification, are permitted.

THIS SOFTWARE IS PROVIDED BY THE
AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE
AUTHOR OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

oО清风挽发oО 2024-10-21 01:13:47

Pam 正在使用 cracklib 进行密码检查,您也应该检查它。

Pam is using cracklib for password checking, you should check it also.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文