SAM最初是跟随第一代NT来到世界的,它在微软总部的特工代号叫做“安全账户管理器”(Security Accounts Manager),可以所sam文件是windows的门卫,在win2k时代这个门卫不太强大,到了NT内核时代,这个家伙的作用就变得强大了。
SAM记录的数据很多,包括所有组、账户信息、密码HASH、账户SID等,应该说是一个考虑得比较周全的门卫。文章源自玩技e族-https://www.playezu.com/210004.html
SAM不仅仅是一个文件那么简单,它不但有文件数据,在注册表里面还有一个数据库,位于HKEY_LOCAL_MACHINE\SAM下,这是一个比较复杂的结构。文章源自玩技e族-https://www.playezu.com/210004.html
SAM在系统启动后就处于锁定状态,我们没法擅自更改这个文件内容。文章源自玩技e族-https://www.playezu.com/210004.html
在注册表里我们可以看到一下内容:文章源自玩技e族-https://www.playezu.com/210004.html
1。在HKEY_LOCAL_MACHINE\SAM\SAM\文章源自玩技e族-https://www.playezu.com/210004.html
Domains下就是SAM的内容,其下有两个分支“Account”和“Builtin”。文章源自玩技e族-https://www.playezu.com/210004.html
2。Domains\Account\Users下存放的就是各个账号的信息,当然,这里是加密过的二进制数据,每个账号下面有两个子项,F和V。项目V中保存的是账户的基本资料,用户名、所属组、描述、密码、注释、是否可以更改密码、账户启用、密码设置时间等。文章源自玩技e族-https://www.playezu.com/210004.html
项目F中保存的是一些登录记录,比如上次登录时间、错误登录次数等。SAM靠这些齐全的备忘录来保存与用户账号相关的各种信息。文章源自玩技e族-https://www.playezu.com/210004.html
3。Domains\Builtin存放着不同用户分组信息,SAM就是根据这个来划分NT中固有的6个不同的工作组的,它们分别是:管理员(Administrators)、备份操作员(Backup Operators)、客人(Guests)、高权限用户(Power Users)、修复员(Replicator)和普通用户(Users)。文章源自玩技e族-https://www.playezu.com/210004.html
幕后指挥官文章源自玩技e族-https://www.playezu.com/210004.html
在Windows系统中,虽然SAM如此尽力,但是他不听从你的指挥。它只听本地安全认证(Local Security Authority)程序——LSASS。EXE的差遣,就连进门时的审查也是LSASS的指示。如果你把LSASS杀了,你就等着被赶出门吧——当然,对于普通用户来说,如果你试图用普通的进程管理工具或者Windows系统的进程管理杀掉“LSASS。
EXE”进程的话,只会得到“该进程为关键系统进程,任务管理器无法结束进程。”的提示,本地安全认证(Local Security Authority)在Windows系统中主要负责以下任务:1。重新找回本地组的SID和用户权限;2。创建用户的访问令牌;3。
管理本地安装的服务所使用的服务账号;4。 存储和映射用户权限;5。管理审核的策略和设置;6。管理信任关系。
俗话说,“人无完人”。尽管SAM(萨姆)是这么尽心尽责,可是在这里,我们还是必须用那句话——“萨姆也是人”来形容它。由于一些设计上的失误,在WinNT/2000里,如果你忘记了密码,那么你要做的不是呼天喊地,只需要在非NT环境里把SAM驱逐出硬盘就可以了。
但是在XP以后的Windows操作系统里,这个情况得以改善,如果你把萨姆大叔踢了,NT也躲着死活不肯出来了。
特别提醒:不要以为sam文件记录了密码信息你就可以删除该文件使得系统用户密码为空,虽然在早期的win2k时代你可以在dos环境下这样做以求达到置空密码的目的,在xp时代,这样可没有用哦。
生活百科