Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

修复 .PASSWDS 文件 #28

Closed
IronBlood opened this issue Sep 27, 2014 · 2 comments
Closed

修复 .PASSWDS 文件 #28

IronBlood opened this issue Sep 27, 2014 · 2 comments
Assignees

Comments

@IronBlood
Copy link
Member

现状:

  1. 数据恢复出来的 .PASSWDS 文件大约从 (37046*452) 字节开始全部为零,也就是此后的用户信息丢失
  2. 依据 amd64/i386 两种架构下使用的 .PASSWDS 文件是否通用? #24 的分析,i386/amd64 架构下 userec 结构体因 time_t 发生长度变化,因此 .PASSWDS 文件不再通用

任务:

  1. 更新 .PASSWDS 文件到 amd64 架构
  2. 前 37045 个用户信息使用恢复的数据,后面的用户使用备份文件

预计结果:

  1. 部分 2013.9.9 后注册的用户可能丢失
  2. 大部分用户的信息可能停留在 2013.9.9,部分用户的权限位需要修复

关联 Issue:
#22 ,更新 .PASSWDS 文件后需要进一步校验用户文件夹。

@IronBlood IronBlood self-assigned this Sep 27, 2014
@IronBlood
Copy link
Member Author

更新现状分析

恢复的 .PASSWDS 文件不是仅仅后半段丢失。前半部分就会有部分用户丢失。

更新的策略

同时 mmap 两个文件,当从恢复文件中读到『空洞』的话,从备份文件中再读取同样的位置,然后写入新的 .PASSWDS 文件。

@IronBlood
Copy link
Member Author

处理结果

  • 总共读取了 47980 个用户
  • 其中 29343 个用户来自备份文件

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant