在linux中,口令文件在/etc/passwd中,早期的这个文件直接存放加密后的密码,前两位是"盐"值,是一个随机数,后面跟的是加密的密码。为了安全,现在的linux都提供了 /etc/shadow这个影子文件,密码放在这个文件里面,并且是只有root可读的。
下面来分析一下/etc/passwd文件,他的每个条目有7个域,分别是名字:密码:用户id:组id:用户信息:主目录:shell 例如:test:x:509:510::/home/test:/bin/bash
在利用了shadow文件的情况下,密码用一个x表示,普通用户看不到任何密码信息。如果你仔细的看看这个文件,会发现一些奇怪的用户名,她们是系 统的缺省账号,缺省账号是攻击者入侵的常用入口,因此一定要熟悉缺省账号,特别要注意密码域是否为空。下面简单介绍一下这些缺省账号
adm拥有账号文件,起始目录/var/adm通常包括日志文件
bin拥有用户命令的可执行文件
daemon用来执行系统守护进程
games用来玩游戏
halt用来执行halt命令
lp拥有打印机后台打印文件
mail拥有与邮件相关的进程和文件
news拥有与usenet相关的进程和文件
nobody被NFS(网络文件系统)使用
shutdown执行shutdown命令
sync执行sync命令
uucp拥有uucp工具和文件
传统上,/etc/passwd文件在很大范围内是可读的,因为许多应用程序需要用他来把UID转换为用户名。例如,如果不能访问/etc/passwd,那么ls -l命令将显示UID而不是用户名。但是使用口令猜测程序,具有加密口令的可读/etc/passwd文件有巨大的安全危险。所以出现了影子文件/etc/shadow。
影子口令系统把口令文件分成两部分:/etc/passwd和/etc/shadow。影子口令文件保存加密的口令;/etc/passwd文件中的密码全部变成x。Shadow只能是root可读,从而保证了安全。/etc/shadow文件每一行的格式如下:
用户名:加密口令:上一次修改的时间(从1970年1月1日起的天数):口令在两次修改间的最小天数:口令修改之前向用户发出警告的天数:口令终止后账号被禁用的天数:从1970年1月1日起账号被禁用的天数:保留域。
例如:root:$1$t4sFPHBq$JXgSGgvkgBDD/D7FVVBBm0:11037:0:99999:7:-1:-1:1075498172
bin:*:11024:0:99999:7:::
daemon:*:11024:0:99999:7:::缺省情况下,口令更新并不开启。如果你的系统没有启动影子文件,那么运行pwconv程序。
有关命令
pwconv
根据/etc/passwd文件生成/etc/shadow。它把所有口令从/etc/passwd移到/etc/shadow中。
pwunconv
将/etc/shadow中的信息尽可能地恢复到/etc/passwd。
(转)linux口令相关文件(/etc/passwd和/etc/shadow),布布扣,bubuko.com