奇密总是会修改密码条目的 Last Modified 列

2023-07-27 13:11:40 +08:00
 Les1ie
很早以前就注意到这个问题,每次用奇密查看了 keepass 的密码条目,该条目的 Last Modified 列的数据都会更新到当前的时间,我的 keepass 文件是用的坚果云 WebDav 同步的,因此每次查看密码都会导致 WebDav 保存的数据库文件更新一遍。

那么,这个非期望的更新文件举动会导致什么问题呢?奇密没有严重的过失,坚果云也很无辜,但是两个加起来,后果就比较严重了。

我在三台电脑一台安卓和一台 iPad 之间分别用了坚果云客户端或者 WebDav 访问这个 keepass 文件,并且在少数情况下,iPad 设备没有联网,不能及时更新云端的数据库文件,但是查看之后会导致生成了一个相比于当前云端时间戳更新的文件。在 iPad 联网之后,奇密便会通过 WebDav 覆盖掉我云端的最新的 keepass 文件,坚果云认为这个文件是添加的新文件,而不是编辑的文件,不会生成冲突文件,我也就很难发现我当前的 keepass 文件已经被替换成旧版本的了。除此以外,奇密也通过 keepass 文件保存配置信息,这也会导致文件非期望的更新。

![https://imgur.com/a/GyaYBwj.png]( https://imgur.com/a/GyaYBwj.png)

这个问题已经给我造成了很多次困扰了,我多次发现密码条目不见了,却又不知道原因,多方排查才发现问题在这里。每次都需要比较一下我哪些密码条目被奇密和坚果云弄一起打配合给弄丢了。

有一些第三方的比较密码条目的工具,比如 keepass-diff ,但是用起来稍微麻烦,还需要额外安装程序,因此每次我都是手工对比。

编辑帖子的时候,也搜索到了两年前有人同样地[被这个问题困扰]( https://chowray.netlify.app/posts/it%E5%B0%8F%E8%AE%B0/fantasypass/#font-colorredbugfont) ,因此,希望奇密能解决这个问题。奇密里面设定只读模式可能可以一定程度上缓解这个问题,但是我没尝试过,因为也存在通过奇密添加密码的需求。


附上对比方法:
1. 坚果云里面找到被错误覆盖的旧版本 keepass 文件,导出 csv
2. 当前最新版本的文件导出 csv
3. 运行下面的 python 程序
```python
import pandas as pd
now = pd.read_csv('now.csv')
old = pd.read_csv('old.csv')
now = now.drop('Last Modified', axis=1)
old = old.drop('Last Modified',axis=1)
merged = now.merge(old, indicator=True, how='outer')
merged.loc[merged['_merge']!='both']

```
462 次点击
所在节点    程序员
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/960190

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX