操作系统用户账户管理:Unix与NT/2000的对比与实践
1. Unix系统密码管理
在Unix系统中,密码管理是保障系统安全的重要环节。 pwd_mkdb 程序是实现这一管理的关键工具,它以密码文本文件的名称作为参数,创建并移动两个数据库文件到指定位置,随后将该文本文件移动到 /etc/master.passwd 。这两个数据库用于提供影子密码方案,它们在读取权限和加密密码字段内容上存在差异。
Perl具备直接处理DB文件的能力,但在系统运行时,不建议直接编辑这些数据库。这是因为涉及到锁定问题,若在未确保其他程序不进行读写操作的情况下更改关键数据库(如密码文件),可能会引发错误。标准操作系统程序(如 chpasswd )会处理锁定操作,但 pwd_mkdb 是否执行锁定操作,取决于BSD的版本。
影子密码是提高密码安全性的有效方法。由于加密密码信息即使经过加密处理,若存储在世界可读的文件中仍存在安全风险,因此可将每个用户的加密密码字符串存储在仅root可读取的特殊文件中,即影子密码文件。其工作原理是,原始密码文件基本保持不变,仅在加密密码字段中使用特殊字符(如 x 或 * )来表示启用了密码影子功能。部分影子密码套件会在该字段插入看似正常的特殊字符串,增加密码破解的难度。
大多数操作系统利用影子密码文件存储更多账户信息,如账户过期数据、密码更改和老化信息。在大多数情况下,Perl的正常密码函数(如 getpwent() )可以处理影子密码文件,但要获
Unix与NT/2000用户账户管理对比
超级会员免费看
订阅专栏 解锁全文
3298

被折叠的 条评论
为什么被折叠?



