热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

在Linux中从潜藏密码迁移至tcb

文章标题:在Linux中从潜藏密码迁移至tcb。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

    潜藏密码作为Linux产品的既定事实标准已经有好多年了,md5密码的运用亦是如此。但是,运用传统的潜藏密码要领也有不足之处,甚至md5也不像以前那么安全了。

  潜藏密码文件的一个缺点就是,任意一个须要查询个别潜藏密码(如您的密码)的使用程序也可以看到其他人的潜藏密码,这也就意味着任意一个可以读取潜藏文件的恶意工具都能够获得别人的潜藏密码。

  除了潜藏,还有一个叫做tcb的可供选择的办法,它由Openwall Project编写,可以从tcb主页上获取。迁移到tcb虽然须要做一些工作,但是相当直接。因为只有Openwall GNU/*/Linux、ALT Linux、和Annvix 直接支持tcb。要为您选择的流通产品获得tcb支持,您必须重新编辑多个程序,打上补丁。

  从tcb站点上,您可以下载tcb程序,并将它和有关的pam_tcb和nss_tcb库一起执行 编辑。您还须要打上支持crypt_blowfish的glibc补丁(像SUSE一样的有些产品可能已经可以支持blowfish密码,就不须要再打补丁了)。

  也许您还想为shadow-utils组打上补丁;取决于您的产品所采用的shadow-utils的版本,您可以从Openwall CVS为shadow-utils 4.0.4.1或从Annvix SVN储存库为4.0.12获得所需的补丁。像adduser、chage等这样的工具中的Shadow-utils须要被打上补丁,提供tcb支持。在tcb页面上有可以打glibc补丁的最新crypt_blowfish的链接。  一旦这些先决条件都满足了,且tcb编译和安装以后,只需基本地将/etc/pam.d/*文件中的所有调用都替换为pam_unix.so和/或pam_pwdb.so就行了。然后就可以像列表A中那样运用 pam_tcb.so了。

  列表Aauth

  required

  pam_env.soauthrequiredpam_tcb.so shadow fork nullok prefix=$2a$ count=8account

  requiredpam_tcb.so shadow forkpassword

  requiredpam_passwdqc.so min=disabled,12,8,6,5 max=40 passphrase=3 match=4 similar=deny random=42 enforce=everyone retry=3password

  requiredpam_tcb.so use_authtok shadow write_to=tcb fork nullok prefix=$2a$ count=8session

  requiredpam_limits.sosession

  requiredpam_tcb.so

  如果您希望继续运用

  md5密码,而不是blowfish密码,将prefix=$2a$ count=8一条从密码行移除,同时,您还须要修改/etc/nsswitch.conf,让潜藏行改读:

  shadow: tcb nisplus nis

  passwd程序须要sgid潜藏,而不是suid根,并且/etc/login.defs中要包括USE_TCB yes。这些完成以后,您就可以执行/sbin/tcb_convert程序,将潜藏文件转换成为适当的单一用户文件了,这些文件将储存在/etc/tcb/中。做完这些之后,移除/etc/shadow和/etc/shadow-文件,然后您的系统就可以运用 tcb了。

  获得tcb支持可能须要花点功夫,但遗憾的是更多的产品没有提供支持,它们既没有本地支持也没有通过插件来支持。运用 tcb,连同blowfish密码一起,会为您的Linux产品提供一个安全得多的密码系统。

 


推荐阅读
  • SVN 功能说明(简版)
    Subversion(SVN)是什么?SVN是一种版本管理系统,是开源软件的基石。即使在沟通充分的情况下,多人维护同一份源代码的一定也会 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • Maven入门、什么是Maven、如何使用Maven、Maven的项目结构、简单的Mavenjava项目、Maven常用命令、Maven项目之间的引用、Maven依赖的传递、可选、排除day01
    目录第一节Maven入门1.1什么是Maven1.2如何使用Maven第一步:下载Maven第二步:配置Maven的环境变量第三步:了解什 ... [详细]
  • 1jdk去网站下载,然后拷贝到linux上;或直接wgethttp:download.oracle.comotn-pubjavajdk8u181-b1 ... [详细]
  • SVN安装配置和使用
    简介:SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS ... [详细]
  • TheProblem:-Iwhanttoperiodicalymakeabackupofmydatabase,forthispurpose ... [详细]
  • 有没有一种方法可以在不继承UIAlertController的子类或不涉及UIAlertActions的情况下 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
author-avatar
手机用户2502934541
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有