目录
前言
海思sdk带的busybox,密码强度的功能非常简单(busybox-1.20.2、libbb/obscure.c文件),由于客户对密码强度、复杂度,密码修改的限制等有严格的要求,故加入pam.d模块,实现密码控制的需求。
一、PAM模块介绍
PAM(Pluggable Authentication Modules )是由Sun提出的一种认证机制。它通过提供一些动态链接库和一套统一的API,将系统提供的服务和该服务的认证方式分开,使得系统管理员可以灵活地根据需要给不同的服务配置不同的认证方式而无需更改服务程序,同时也便于向系统中添加新的认证手段。
PAM使用配置/etc/pam.d/下的文件,来管理对程序的认证方式,应用程序调用相应的配置文件,从而调用本地的认证模块,模块放置在/lib/security下,以加载动态库的形式进,像我们使用su命令时,系统会提示你输入root用户的密码.这就是su命令通过调用PAM模块实现的。
详细功能可参考 Linux下PAM模块学习总结
二、工具交叉编译及实现
1.工具、模块交叉编译(打包的源码包下载地址)
我的目录结构

1. cracklib库
Cracklib包 包含一个库,通过将用户选择的密码与所选单词列表中的单词进行比较,该库用于实施强密码。源码路径及安装、内容、命令解释~点这,这也是下载地址,
修改后交叉编译:
tar -zxf cracklib-2.9.7.tar.gz
cd cracklib-2.9.7/
./configure --host=arm-hisiv400-linux --prefix=$(pwd)/../../install CC=arm-hisiv400-linux-gcc AR=arm-hisiv400-linux-ar --disable-static --with-default-dict=/usr/share/cracklib
make ;make install
如果make的时候报man错,可以简单粗暴直接修改Makefile,去掉
SUBDIRS = po man(删掉) libmisc lib src
编译完成后,开始创建CrackLib字典(一些命令及路径需要root权限,我是在板子/home/上生成后再cp回服务器的编译目录),先下载cracklib-words-2.9.7.bz2(上文有下载地址)
1、mkdir -p /home/new_dict/dict

本文介绍了如何在海思SDK中利用PAM模块提升密码安全性,涉及cracklib库、pam模块、pwquality策略及shadow命令的交叉编译和配置,展示了如锁定登录、强制修改密码及防止历史密码使用等功能。
最低0.47元/天 解锁文章
4127

被折叠的 条评论
为什么被折叠?



