Linux Shadow-Password-HOWTO - 2. 为何shadow你的pa( 二 )



透过移动密码至;/etc/shadow;档,我们可以有力的备有骇客从存取编码密码到执行;dictionary;attack;的证据 。;

除此之外,;Shadow;Suite;新增许多特色:;

设定档於设定为签入时预设(/etc/login.defs);
新增、修改和删除使用者帐号群组之工具程式;
密码寿命计算及到期日;
帐号到期日跟锁死;
隐藏群组密码;(可选择的);
两倍长度密码;(16;字元密码);[不建议使用];
针对使用者密码选择有较好的控制;
可拨接密码;
备用有效权限程式;[不建议使用];
安装;Shadow;Suite;贡献为有更安全系统,但是还有其他方法可以改善;Linux;系统的安全,且最终将有一系列的;Linux;安全;HOWTO"s;将讨论其他安全基准和相关文件版本.;


针对目前其他;Linux;安全文件资讯,请参照网址:;Linux;Security;home;page.



2.1;为何您不要;shadow;你的;passwd;档;
有一些状况跟设定运用在安装;Shadow;Suite;将;不是;好主意: ;There;are;a;few;circumstances;and;configurations;in;which;installing;the;Shadow;Suite;would;NOT;be;a;good;idea:;

主机没有包含使用者帐号 。;
主机是在;LAN;上跑且使用网路资讯服务(Network;Information;Services,;NIS)得到或供应使用者名称和密给网路上的其他机器使用(事实上这还是可以执行,但是实际上并不能增加任何安全) 。;
机器是使用终端主机来验证使用者经由;NFS(Network;File;System),;NIS;或某些其他方法 。;
机器跑其他软体验证使用者且没有任何;shadow;版本或原始码可获得 。;


2.2;格式化;/etc/passwd;档;
一个;non-shadowed;/etc/passwd;档格式如下所示:;

username:passwd:UID:GID:full_name:directory:shell

其中;
username
使用者(签入)名称;

passwd
编码密码;

UID
使用者编号;

GID
预设存组编号;

full_name
使用者全名;-;事实上这个栏位称作;GECOS;(General;Electric;Comprehensive;Operating;System);栏位且可以储存全名外的资讯 。Shadow;commands;and;manual;pages;refer;to;this;field;as;the;comment;field.;

directory
使用者根目录;(绝对路径);

shell
使用者签入的环境;(绝对路径);

举例说明:;
username:Npge08pfz4wuk:503:100:Full;Name:/home/username:/bin/sh

 中,Np;是;salt;且;ge08pfz4wuk;是编码密码 。;已编码的;salt/password;就像;kbeMVnZM0oL7I;且这两个字串是一样的密码 。对相同密码可能有;4096;种可能的编码 。(本□例的密码是;"passwaor",这是比较;不好;的密码) 。;

只要;shadow;suite;已经安装,;/etc/passwd;档将被替代成:;

username:x:503:100:Full;Name:/home/username:/bin/sh

本□例之第二栏位;x;现在只是一个 place;holder 。/etc/passwd档的格式并未真的改变,只是不再包含;编码密码 。这表示任何程式可以读取;/etc/passwd;档,但并不真的需要确认密码是不是正确地运作 。;

这些密码现在被重新放在;shadow;档(通常是在;/etc/shadow;档) 。;


2.3;格式化;shadow;档;
/etc/shadow;档包括下列资讯:;

username:passwd:last:may:must:warn:expire:disable:reserved

其中;
username
使用者名称;

passwd
编码密码;

last
密码上次更动日期,以从1970年1月1日算起的天数代表;

may
密码改变前天数;

must
密码最常使用天数;

warn
代表期限前几天就事先警告使用者;

expire
超过密码过期天数後,就关闭该帐号;

disable
帐号关闭,以从1970年1月1日算起的天数代表;

reserved
预备栏位;

依照之前□例将变成:;
username:Npge08pfz4wuk:9479:0:10000::::


2.4;回顾;crypt(3).;
从;crypt(3);使用者文件得到:;

"crypt;是密码加密方程式 。;It;is;based;on;the;Data;Encryption;Standard;algorithm;with;variations;intended;(among;other;things);to;discourage;use;of;hardware;implementations;of;a;key;search.;

推荐阅读