传统的;Unix;系统保留使用者帐号资料,包括单向加密的密码,存放在一个称做``/etc/passwd'';的文字档。; 既然这个档案会被很多工具;(像是;``ls'');用做显示档案的拥有者等,为了用来比对;user;id;#;和使用者名称, 这个档案必须是可读的。;结果,;这造成安全上的风险。; 另一个存放帐号的方法,我常使用的一个,是;shadow;密码格式。和传统方法一样,这个方法以相容的方式存放 帐号资料於;;/etc/passwd;档案中。;然而,密码的部分是一个“x”;符号;(换言之.;并非真正放在档案中)。 另一个档案,称作;;``/etc/shadow'',存放加密过的密码以及其他资料像是帐号及密码的期限值等。;;/etc/shadow; 这个档案只能由;root;读取因此减少了风险。; 有时一些;Linux;发行版本会强迫安装;Shadow;密码套件;以便使用;shadow;格式,;Red;Hat;让它变得很简单。 要在两者之间切换,;键入(以;root;身分):; /usr/sbin/pwconv;;;;;;转换到;shadow;格式 /usr/sbin/pwunconv;;;;转换回传统格式 使用;shadow;密码时,;``/etc/passwd'';档内含帐号资料,看起来像这个样子:; smithj:x:561:561:Joe;Smith:/home/smithj:/bin/bash 每一项目栏位都由“:”冒号所分隔,意义如下:; 使用者名称,最多;8;个符号,可以用大小写,通常都是小写; 一个“x”在密码栏。密码存放在;``/etc/shadow'';档中。; user;id;数值。由``adduser'';script;所分配。;Unix;使用这个栏位,以及後面的群组栏以辨别档案属於 哪个使用者。; group;id;数值。;Red;Hat;使用;group;id;作为很独特的强化档案安全的方法。通常;group;id;会和;user;id 相同。; 使用者全名。我不大确定这个栏位的最大长度,但是尽量保持合理;(30个字元以下).; 使用者的;home;目录。;通常是;/home/username;(例如.;/home/smithj).;所有使用者个人档案,网页,回覆信 件等。会放在这里。; 使用者的“shell;帐号”。常被设为``/bin/bash'';提供取用;bash;shell;(我个人最喜欢的;shell)。 也许您不想提供给使用者;shell;帐号。您可以建立一个名为;``/bin/sorrysh''的;script档。例如显示错误讯 息以及把使用者;log;off,然後将这个;script;视为他们的预设;shell。; 注意:;如果帐号需要提供“FTP”传送更新网页等。;shell;帐号要被设定为;``/bin/bash'';--;使用者的 home;目录必须设定特别的权限以防;shell;登入。;查看第7章,网页伺服器及;HTTP;快取代理主机管理; 一节;有关的细节。; ``/etc/shadow'';档案内含使用者的密码及帐号期限资料;,看起来像这个样子:; smithj:Ep6mckrOLChF.:10063:0:99999:7::: 像密码档一样,shadow;档的每一个栏位也是由“:”;冒号所分开,意义如下:; 使用者名称,最多;8;个符号,可以用大小写,通常都是小写。直接对应;/etc/passwd;档案中的使用者名称。; 密码,加密过的;13;个字元。一个空格;(就是.;::);表示登入时不需密码;(不是个好主意),一个;``*'';项目; (就是;:*:);指出帐号已经关闭。; 密码最後一次变更起所经过的日数;(从1970年一月一日起;);。; 密码经过几天可以变更;(0;表示可以随时变更); 密码经过几天必须变更;(99999;表示使用者可以保留他们的密码很多很多年不变); 密码过期之前几天要警告使用者;;(7;为一); 密码过期几天後帐号会被取消; 从1970年一月一日起,帐号经过几天会被取消; 保留栏位 |
标签: linux