天天看点

[RHEL5系统管理攻略]--第1章 用户与组管理(2)

<b>1.3 </b><b>密码的管理</b>

<b>   </b><b>  </b><b>账号好似一张通行证,有了账号才能顺利地使用RHEL。不过,RHEL如何确认某账号的人是这个账号的真正拥有者呢?此时RHEL会根据用户的密码来确认用户的身份。</b>

<b>1.3</b><b>.1</b> <b>加密解密原理</b>

<b>    </b><b>事实上,DES与MD5都只是单向式哈希算法,哈希算法是具备下面所有条件的数学算法。</b>

<b>⑴输入的长度可不固定,但输出的长度是固定的。</b>

<b>⑵输入改变,输出也会改变;输入不变,输出就不变。</b>

<b>⑶无法由输出推算出输入的值。</b>

<b></b>

<b>①和③是123456的MD5哈希值。</b>

<b>②和④是amani的MD5哈希值。</b>

<b>    123456</b><b>与amani的两个输入不同长度的数据,但它们的哈希值都是32个字符。验证了:</b>

<b>⑵输入改变,输出也会改变;输入不变,输出就不变。</b>     

<b>    </b><b>由于,哈希算法会为每一个数据提供一个独一无二的指纹。若输入数据的内容改变了,计算出来的哈希值也会跟着改变;若输入的数据的内容相同,则哈希值也会相同。</b>

<b>    </b><b>黑客要破解出原始的密码就挺简单了,为了增加破解的难度,RHEL使用“加料”的DES/DM5演算法。</b>

<b>    </b><b>第一步,先产生一个固定长度的随机数。</b>

<b>    </b><b>第二步,把随机数连同原始的密码一并交给单向哈希算法,计算出密码与随机数的哈希值。</b>

<b>    </b><b>这样即使是相同的密码,也会产生不同的密码哈希值,增加了破译的困难度。</b>

<b>1.3</b><b>.2</b> <b>修改用户密码</b>

     在RHEL中,用useradd命令新建一个用户时,则会锁定用户的密码,如此一来,用户暂不能使用RHEL了。必须要修改其密码后,新建的用户才能用他的账号登录RHEL。

<b>     </b><b>修改用户账号的密码的命令是passwd,其语法是:</b>

<b>      Passwd [-d] [-k] [-l] [-S] [</b>--<b>stdin] username</b>

<b>-d :  </b><b>删除用户密码,即清空/etc/passwd、/etc/shadow文件中的密码字段。</b>

<b>      一旦删除用户密码,则不要密码直接登录RHEL。切记!危险!!!</b>

<b>-l </b><b>: 锁定账号,一经锁定,用户再也不能登录,即使输入的    密码是正确的。</b>

<b>-S </b><b>: 此参数是大写的S,显示密码的状况。如加密算法的种类、是否已设置密码  等。此参数仅root有权执行!</b>

--<b>stdin :  </b><b>由标准输入(Standard Input, stdin)读入密码的本文,再由passwd命令加密成为密文类型的密码。</b>

<b>     </b><b>好啦,我们来使用passwd命令来管理koma的密码例子:</b>

①惯例,先查询是否有将要创建的用户koma,此为没有。

②使用useradd命令添加koma这个用户。

③因刚才添加的用户koma,会被锁定,故当用passwd -S(大写)查询时,会出现“password locked”,意即,koma的密码已被锁定了。

④直接让passwd从标准输入读入密码数据amani后,设置为koma的密码。

⑤再次查询可知,密码已加密设置且为MD5加密。

 <b>1.3</b><b>.2</b> <b>修改用户密码</b>

            RHEL可以为每一个组设置一个密码,称之为组密码。

如果该组没有指定密码,则RHEL只允许组的成员可以使用newgrp修改主要组的身份;如果组设置了密码,则组成员仍可以不用密码就切换主要组身份,但非组的成员必须提供正确的密码才可以。

          请看下面的例子:

①是koma查询自己的账户信息的结果。koma加入了koma和fans两个组且koma目前的

  主要组是koma。

②koma使用newgrp以fans的组身份开启一个新的shell。

③koma再次查询自己的账号数据,而现在koma的主要组已经变为fans。

④若id指定查询koma的账户信息,则koma的主要组还koma。

⑤使用exit命令退回到原来的shell环境。

⑥用id查询可知,koma已经恢复到原来的状态了。

    在RHEL中新建的组账号默认会被锁定密码,这样就没有人能使用这个新建的组作为主要组了。如何设置组的密码呢?请看下面:

    gpasswd [-r] [-R] groupname

-r  : 用来删除组的密码。

-R  : 是锁定group的组密码。

无参数 : 默认是修改group的组密码。 

 51CTO博客,原文链接:http://blog.51cto.com/beyondhdf/139924 ,如需转载请自行联系原作者

继续阅读