• <i id='c6twc'></i>
  • <span id='c6twc'></span>

        1. <fieldset id='c6twc'></fieldset>
            <acronym id='c6twc'><em id='c6twc'></em><td id='c6twc'><div id='c6twc'></div></td></acronym><address id='c6twc'><big id='c6twc'><big id='c6twc'></big><legend id='c6twc'></legend></big></address>
          1. <tr id='c6twc'><strong id='c6twc'></strong><small id='c6twc'></small><button id='c6twc'></button><li id='c6twc'><noscript id='c6twc'><big id='c6twc'></big><dt id='c6twc'></dt></noscript></li></tr><ol id='c6twc'><table id='c6twc'><blockquote id='c6twc'><tbody id='c6twc'></tbody></blockquote></table></ol><u id='c6twc'></u><kbd id='c6twc'><kbd id='c6twc'></kbd></kbd>

            <code id='c6twc'><strong id='c6twc'></strong></code>

            <i id='c6twc'><div id='c6twc'><ins id='c6twc'></ins></div></i><dl id='c6twc'></dl>
            <ins id='c6twc'></ins>

            关于linux系统密码策略的设置

            • 时间:
            • 浏览:13
            • 来源:124软件资讯网

                由于事情需要最近需要将公司的多台linux服务器举行密码计谋的设置  ,主要内容是增添密码庞大度  。

                操作步骤如下  ,不会的同砚可以参考:

                操作前需要掌握如下几个简朴的知识点:(实在不掌握也行  ,不外学学没坏处)

                PAM(Pluggable Authentication Modules )是由Sun提出的一种认证机制  。它通过提供一些动态链接库和一套统一的API  ,将系统提供的服务 和该服务的认证方式离开  ,使得系统治理员可以天真地凭据需要给差别的服务设置差别的认证方式而无需更改服务法式 ,同时也便于向系 统中添加新的认证手段  。PAM最初是集成在Solaris中  ,现在已移植到其它系统中  ,如Linux、SunOS、HP-UX 9.0等 。

                PAM的设置是通过单个设置文件/etc/pam.conf  。RedHat还支持另外一种设置方式  ,即通过设置目录/etc/pam.d/ ,且这种的优先级要高于单 个设置文件的方式  。

                1、使用设置文件/etc/pam.conf

                该文件是由如下的行所组成的:

                service-name module-type control-flag module-path arguments

                service-name 服务的名字 ,好比telnet、login、ftp等  ,服务名字“OTHER”代表所有没有在该文件中明确设置的其它服务  。

                module-type 模块类型有四种:auth、account、session、password  ,即对应PAM所支持的四种治理方式  。统一个服务可以挪用多个 PAM模块举行认证  ,这些模块组成一个stack  。

                control-flag 用来告诉PAM库该怎样处置惩罚与该服务相关的PAM模块的乐成或失败情形  。它有四种可能的 值:required ,requisite  ,sufficient  ,optional  。

                required 表现本模块必须返回乐成才气通过认证  ,可是若是该模块返回失败的话 ,失败效果也不会立刻通知用户 ,而是要等到统一stack 中的所有模块所有执行完毕再将失败效果返回给应用法式 。可以以为是一个须要条件  。

                requisite 与required类似 ,该模块必须返回乐成才气通过认证  ,可是一旦该模块返回失败  ,将不再执行统一stack内的任何模块  ,而是直 接将控制权返回给应用法式  。是一个须要条件  。注:这种只有RedHat支持  ,Solaris不支持  。

                sufficient 讲明本模块返回乐成已经足以通过身份认证的要求  ,不必再执行统一stack内的其它模块  ,可是若是本模块返回失败的话可以 忽略  。可以以为是一个充实条件  。

                optional讲明本模块是可选的  ,它的乐成与否一样平常不会对身份认证起要害作用 ,其返回值一样平常被忽略  。

                对于control-flag  ,从Linux-PAM-0.63版本起  ,支持一种新的语法 ,详细可参看LinuxPAM文档  。

                module-path 用来指明本模块对应的法式文件的路径名  ,一样平常接纳绝对路径  ,若是没有给出绝对路径  ,默认该文件在目录/usr/lib/security下面  。

                arguments 是用来通报给该模块的参数  。一样平常来说每个模块的参数都不相同  ,可以由该模块的开发者自己界说  ,可是也有以下几个配合 的参数:

                debug 该模块应当用syslog( )将调试信息写入到系统日志文件中  。

                no_warn 讲明该模块不应把忠告信息发送给应用法式 。

                use_first_pass 讲明该模块不能提醒用户输入密码  ,而应使用前一个模块从用户那里获得的密码  。

                try_first_pass 讲明该模块首先应当使用前一个模块从用户那里获得的密码  ,若是该密码验证不通过 ,再提醒用户输入新的密码 。

                use_mapped_pass 该模块不能提醒用户输入密码  ,而是使用映射过的密码  。

                expose_account 允许该模块显示用户的帐号名等信息 ,一样平常只能在宁静的情况下使用 ,由于走漏用户名会对宁静造成一定水平的威胁  。

                2、使用设置目录/etc/pam.d/(只适用于RedHat Linux)

                该目录下的每个文件的名字对应服务名 ,例如ftp服务对应文件/etc/pam.d/ftp 。若是名为xxxx的服务所对应的设置文件/etc/pam.d/xxxx不存 在  ,则该服务将使用默认的设置文件/etc/pam.d/other  。每个文件由如下花样的文本行所组成:

                module-type control-flag module-path arguments

                每个字段的寄义和/etc/pam.conf中的相同  。

                由于公司使用的是RedHat的linux故此我将使用pam.d这个设置目录  。密码庞大度通过/etc/pam.d/system-auth这个文件来实现的故此我们先看一下默认有什么内容然后将这个文件备份一个:

                在这个文件中我们会用到pam_cracklib.so这个模块  。pam_cracklib.so是一个常用而且很是主要的PAM模块 。该模块主要的作用是对用户密码的强壮性举行检测  。即检查和限制用户自界说密码的长度、庞大度和历史等 。如不知足上述强度的密码将拒绝使用 。

                pam_cracklib.so比力主要和难于明白的是它的一些参数和计数要领 ,其常用参数包罗:

                debug:将调试信息写入日志;

                type=xxx:当添加/修改密码时  ,系统给出的缺省提醒符是“New UNIX passwZhttp://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcmQ6obHS1LywobBSZXR5cGUgVU5JWDxicj4KcGFzc3dvcmQ6obGjrLb4yrnTw7jDss7K/b/

              J0tTX1Lao0uXK5Mjrw9zC67XEzOHKvrf7o6yxyMjn1ri2qHR5cGU9eW91ciBvd24gd29yZKO7PGJyPgpyZXRye

              T1Oo7q2qNLltcfCvC/Q3rjEw9zC68qnsNzKsaOsv8nS1NbYytS1xLTOyv2juzxicj4KRGlmb2s9TqO6tqjS5d

              DCw9zC69bQsdjQ69PQvLi49tfWt/vSqtPrvsnD3MLrsrvNrKGjtavKx8jnufvQwsPcwuvW0NPQMS8y0tTJz7XE

              19a3+9PrvsnD3MLrsrvNrMqxo6y4w9DCw9zC672rsbu908rco7s8YnI+Cm1pbmxlbj1Oo7q2qNLl08O7p8

              Pcwuu1xNfu0KGzpLbIo7s8YnI+CmRjcmVkaXQ9TqO6tqjS5dPDu6fD3MLr1tCx2NDrsPy6rLbgydm49sr919ajuzxicj4Kd

              WNyZWRpdD1Oo7q2qNLl08O7p8PcwuvW0LHY0Ouw/LqstuDJ2bj2tPPQtNfWxLijuzxicj4KbGNyZWRpdD1Oo7q2q

              NLl08O7p8PcwuvW0LHY0Ouw/LqstuDJ2bj20KHQqdfWxLijuzxicj4Kb2NyZWRpdD1Oo7q2qNLl08O7p8Pcwuv

              W0LHY0Ouw/LqstuDJ2bj2zNjK4tfWt/ujqLP9yv3X1qGi19bEuNauzeKjqaO7PGJyPgo8L3A+CjxwPrj5vt3O0r

              XE0OjSqs7SvavD3MLrst/C1NbGtqjI58/Co7qx2NDrsPy6rNbBydnSu7j20KHQtNfWxLihosr919ahoszYyuLX1rf7o6z

              D3MLrs6S2yNbBydk3zrujrNTac3lzdGVtLWF1dGjOxLz+1Pa808jnz8LE2sjdo6yxo7TmuvPNy7P2o7o8L3A+CjxwPjxpb

              Wcgc3JjPQ=="http://www.2cto.com/uploadfile/Collfiles/20140924/2014092409230757.png" alt="/">

                (注)*credit=-1表现至少有一个的意思 。

                然后设置login.defs  ,这个文件主要是设置密码有用期 ,其中的PASS_MIN_LEN这个参数在我们设置了上一个文件之后在这里是不起作用的  。其他

                PASS_MAX_DAYS 99999 #密码的最大有用期, 99999:永世有期

                PASS_MIN_DAYS 0 #是否可修改密码,0可修改,非0几多天后可修改

                PASS_MIN_LEN 5 #密码最小长度,使用pam_cracklib module,该参数不再有用

                PASS_WARN_AGE 7 #密码失效前几多天在用户登录时通知用户修改密码

                当设置完成这些之后我们可以去验证一下系统中已经存在的用户在设置密码的时间是否会强制验证密码庞大度  ,如下图所示若是不切合密码庞大度会提醒错误信息:

                若是切合了你的密码庞大度就可以正常设置密码了  。