feizaipp Blog

Thinking will not overcome fear but action will.

Linux 账户密码存储技术介绍

我的博客 在早期的 Linux 版本中,账户名和密码的密文被保存在同一个文件里,即 /etc/passwd 文件中。因为 /etc/passwd 文见对于任何用户都是可见的,所以这样做存在安全问题。黑客通过暴力破解或者字典攻击等技术手段能够破解管理员账户的密码。一旦管理员的账户密码被破解,后果可想而知。 后来有了 shadow 技术,账户信息保存到 /etc/passwd 文...

自动生成Makefile

我的博客 对于 Linux 的初学者,搭建开发环境的一直是绕不过去的坎,其中最难得当属编译环境的配置了,复杂的 Makefile 语法让很多初学者望而却步。遗憾的是,不管你是自己进行项目开发还是安装应用软件,我们都经常要用到 make 、 make install 等工具。因为利用 make 工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应...

基于ukey的双因子认证

我的博客 1.双因子认证介绍 登录 Linux 系统时,需要输入账户的密码,这种只通过密码这种单一的认证方式我们称之为单因子认证。出于安全考虑,在用户登录时,不仅要输入密码还需要有某个可以认证身份的硬件或者其他的口令等,这种成为双因子或多因子认证,比如我们手机银行转账时一天内转账超过5000元,需要插入 u 盾, u 盾是一个可以验证你身份的硬件。 本文介绍利用 Linux-P...

Linux PAM机制

我的博客 Linux操作系统最大的优点之一就是支持多用户,Linux系统通过/etc/passwd和/etc/shadow两个文件管理系统的所有用户名和密码。在用户登录Linux系统时,Linux系统提供了一套统一的验证用户身份的接口,即PAM。Linux-PAM(Pluggable Authentication Modules for Linux),即Linux可插入认证模块,...

Linux应用程序多国语言支持

我的博客 在项目上,开发基于USBKEY的双因子认证功能时要提示用户输入PIN码,因为我们是基于CentOS 7.4的中文版开发的,所以想给用户输出中文提示。查了一些资料,发现CentOS系统的每个源码包里都有一个po目录,这个文件里面是一些.po文件,比如zh_CN.po这个文件是简体中文对应的翻译文件。在CentOS系统的/usr/share/locale/目录下有系统支持所...

Glibc中增加接口

我的博客 在项目中,有个需求是将某些用户与普通用户的密码分开存放,三权用户存到/etc/sdtmp,普通用户存到默认的/etc/shadow文件,这样的话就需要修改相应的接口支持从/etc/sdtmp文件中获取三权用户的密码。 glibc库中提供了getspnam、getspent等相关的函数,这些函数默认是去/etc/shadow文件中读取struct spwd结构,所以需要...

RPM包管理

我的博客 1. 定义 RPM 是 Red-Hat Package Manager (RPM 软件包管理器)的缩写,这一文件格式名称虽然打上了 RedHat 的标志,但是其原始设计理念是开放式的,现在包括 OpenLinux 、 S.u.S.E. 以及 Turbo Linux 等 Linux 的分发版本都有采用,可以算是公认的行业标准了。 2. 常用选项 假如我们有一个名为 ...

展讯SC9853平台SPI调试总结

我的博客 背景 我司有一款安全芯片,主要用于实现PC、移动端加解密方案。安全芯片有多种硬件存在形式,比如TF卡、USB设备、也可以直接贴到主板上。安全芯片内部支持SD协议,对外的接口是SD接口,当然也可以用SPI接口来发送SD协议的数据。 本篇文章介绍在展讯SC9835平台上调试SPI接口所遇到的问题及解决问题的思路。这里要说明一下展讯SC9835平台是x86架构的,手机厂商用的比...