Linux下基于PAM机制的USB Key的制作
摘自:https://server.zzidc.com/fwqpz/157.html
USB Key这个概念最早是由加密锁厂家提出来的,加密锁是用来防止软件盗版的硬件产品,加密锁的概念是使安装在计算机的应用程序脱离加密锁硬件无法运行来达到保护软件不被盗版的目的。
目前的硬件设置,USB Key产品一方面价格昂贵(2000-12800),另外主要用于Windows操作系统。景安服务器租用小编给大家介绍如何在Linux环境下通过软硬结合的方法自己制作USB Key。本文以Red Hat Enterprise Linux3.0为例,使用具有双启动型功能的闪盘建立基于Linux USB Key.
1. 软件下载安装
下载pam_usb软件
2. pam_usb登录配置
pum_usb编译安装后会在Linux 目录/etc/pam.d/下面产生两个配置文件:/etc/pam.d/login,/etc/pam.d/xdm。Pdm_usb支持以下三种登录方式。
(1) 登录方法:即插入正确的带有私钥的USB Key即可登录,不需要输入密码。方法是修改配置文件/etc/pam.d/login。
删除一行
Required pam_unix.so
添加一行
auth required pam_usb.so
(2) 二者择一登录方法:即插入正确的带有私钥的USB Key 或者正确输入正确的登录密码都可以登录。其流程是,假如没有给秘钥设置密码,那么登录的时候,插入USB闪盘,然后输入用户名可以直接登录了;如果秘钥有密码,要输入密码。方法是修改配置文件/etc/pam.d/login。
在auth required pam_unix.so前面加入一行
auth sufficient pam_usb.so
(3) 双重登录方法:即插入正确的带有私钥的USB Key并且输入正确登录密码即可登录。方法是修改配置文件/etc/pam.d/login。
在auth required pam_unix.so前面加入一行
auth sufficient pam_usb.so
3. 制作存储密码钥匙的USB Key。
在服务器安装编译pub_usb一行可以制作USB Key 了。方法很简单
#mkdir /mnt/usb
#mount /dev/sda1 /mnt/usb
以上命令建立挂载USB闪盘,下面可以产生一对DSA算法的公私密钥,其格式为:
# usbadm keygen <mntpoint> <user> <bits>
mntpoint:挂载点
user:用户名称
bits:密钥长度
Linux下基于PAM机制的USB Key的制作的更多相关文章
- linux下epoll实现机制
linux下epoll实现机制 原作者:陶辉 链接:http://blog.csdn.net/russell_tao/article/details/7160071 先简单回顾下如何使用C库封装的se ...
- 2017-2018-1 20155222 《信息安全系统设计基础》第10周 Linux下的IPC机制
2017-2018-1 20155222 <信息安全系统设计基础>第10周 Linux下的IPC机制 IPC机制 在linux下的多个进程间的通信机制叫做IPC(Inter-Process ...
- Kali Linux下破解WIFI密码挂载usb无线网卡的方法
Kali Linux下破解WIFI密码挂载usb无线网卡的方法 时间:2014-10-12 来源:服务器之家 投稿:root 首先我要说的是,wifi密码的破解不是想象中的那么容易,目前还 ...
- 实现Linux下的U盘(USB Mass Storage)驱动
如何实现Linux下的U盘(USB Mass Storage)驱动 版本:v0.7 How to Write Linux USB MSC (Mass Storage Class) Driver Cri ...
- 如何实现Linux下的U盘(USB Mass Storage)驱动
如何实现Linux下的U盘(USB Mass Storage)驱动 版本:v0.7 How to Write Linux USB MSC (Mass Storage Class) Driver Cri ...
- Linux下的IPC机制
Linux下的IPC机制 IPC(Inter-Process Communication)是多个进程之间相互沟通的一种方法.在linux下有多种进程间通信的方法. 共享内存 Linux内存共享有多种, ...
- Linux下基于LDAP统一用户认证的研究
Linux下基于LDAP统一用户认证的研究 本文出自 "李晨光原创技术博客" 博客,谢绝转载!
- Linux下基于.NET5开发CAX应用
<<.NET5下的三维应用程序开发>>一文中介绍了如何在.NET5下使用AnyCAD开发应用程序.相比.NET4.x,.NET5一大进步便是可以跨平台,即可以在Linux.Ma ...
- linux下六大IPC机制【转】
转自http://blog.sina.com.cn/s/blog_587c016a0100nfeq.html linux下进程间通信IPC的几种主要手段简介: 管道(Pipe)及有名管道(named ...
随机推荐
- 清北学堂—2020.1提高储备营—Day 4 afternoon(动态规划初步(一))
qbxt Day 4 afternoon --2020.1.20 济南 主讲:顾霆枫 目录一览 1.动态规划初步 2.记忆化搜索 3.递推式动态规划 4.记忆话搜索与递推式动态规划的转化 5.状态转移 ...
- Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set…
php打印小票错误提示:Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activate ...
- python生日贺卡制作以及细节问题的解决最后把python项目发布为exe可执行程序过程
自己今天第一次做一个python生日贺卡: 效果图 参考之前有位大佬的作品,自己稍微的改造了一下下 首先:上程序 Birthday.py """ ----------- ...
- 工作中遇到的js跨域问题总结
起因:之前在做一个项目的时候有这样一个问题,127.0.0.1域名上的一个页面A.html,需要访问127.0.0.2域名上B.html页面中的一个方法.这就涉及到JS跨域访问了,通过查阅资料,得以解 ...
- Java与Go语言差异1 传值还是传引用
在Java中,复杂类型(除原始类型外的其它类)作为入参,在方法中被修改后,跳出方法对象内的值仍会保持,也就是传的是引用.原始类型传的是值,如int, double等原始类型. Java代码: publ ...
- MySQL在Windows中设置环境变量
在桌面选择“计算机”的图标(或者是我的电脑),右键-->属性-->点击“高级系统设置” 然后选择 高级 选项点击环境变量 然后点击新建-> 变量名为MYSQL_HOME 变量值为m ...
- cf1012B
题意简述: 给定一个 n×m的矩阵,其中 q 个位置已经被填充. 有一条规则,如果 (r1,c1) ,(r1,c2),(r2,c1) 均被填充,则 (r2,c2) 也被填充.任何被其他三个位置生成的位 ...
- 代数式到c语言表达式和常用的c语言数学库函数_pow_sqrt_exp_fabs_abs
数学知识来源于生活,因此我们需要把相关的数学的知识在自己生活找到实例. #include "common.h" #include <stdio.h> #include ...
- jQuery - lable 取值、赋值
取值 var val = $("#breakfastMonday").html(); 赋值 $("#breakfastMonday").html("v ...
- c++并发编程之进程创建(给那些想知道细节的人)
关于多进程创建,此处只讲解一个函数fork(). 1.进程创建 先上代码: #include"iostream" #include<unistd.h> //unix标准 ...