分类: 系统运维
2012-03-29 12:33:55
我们已经讨论过Linux和Solaris支持的影子密码文件。FreeBSD和Mac OS X用另一种方式存储加密密码。下表总结了这本文包括的四个平台如何存储用户和组信息:
帐号实现的区别 |
||||
信息 |
FreeBSD 5.2.1 |
Linux 2.4.22 |
Mac OS X 10.3 |
Solaris 9 |
帐号信息 | /etc/passwd | /etc/passwd | netinfo | /etc/passwd |
加密密码 | /etc/master.passwd | /etc/shadow | netinfo | /etc/shadow |
是否哈希密码文件 | 是 | 否 | 否 | 否 |
组信息 | /etc/group | /etc/group | netinfo | /etc/group |
在FreeBSD上,影子密码文件是/etc/master.passwd。特殊的命令被用来编辑它,从影子密码文件产生一个/etc/passwd的拷
贝。此外,文件的哈希版本也被产生:/etc/pad.db是/etc/passwd的哈希版本,而/etc/spwd.db是/etc
/master.passwd的哈希版本。这些为大的安装提供了很好的性能。
在Mac OS X上,/etc/passwd和/etc/master.passwd却只用在单一用户模式(当系统用于内部维护;单用记模式通常意味着没有系统服务被启用。)在多用户模式--在普通操作期间--netinfo目录服务提供了用户和组的帐号信息的访问。
尽管Linux和Solairs支持类似的影子密码接口,但仍然有些小区别。例如,/etc/shadow文件的域里的整型域在solaris里定义为
int类型,而在Linux里定义为long
int。另一个区别是帐号失效域。Solaris把它定义为自从用户上次登录至今的天数,而Linux把它定义为最大密码年龄到达之后的天数。
在许多系统上,用户和组数据库使用网络信息服务(Network Information Service,NIS)实现。这允许管理员编辑这些数据库的母拷贝(master copy)并把它们自动分发到一个组织里的所有服务器上。客户端系统与服务器联系来查询用户和组的信息。NIS+和轻量目录访问协议 (Lightweight Directory Access Protocol, LDAP)提供了相似的功能。许多系统控制着用来管理配置文件/etc/nsswitch.conf的信息的所有类型的方法。