似乎钥匙串文件(带有扩展名.keychain
)通常会有一个与之关联的不可见文件,位于同一目录中。
此不可见文件始终具有以下属性:
- 它是空的(零字节)。
- 它的权限是
0444
(对所有用户只读)。 它的名称由
.fl
后跟 8 个十六进制字符组成。例如:.fl043D1EDD .fl947E1BDB .fl9FAF0136 .fl12663120 .fl8E6EFC6C .flCF600F4B .fl1D8ECE61 .fl0D1D1BA9 .fl79E88CD1 .fl62323D2F .fl75262C83 .fl652F188E
不可见文件可以删除,但是下次修改钥匙串的内容时,将重新创建具有相同名称的不可见文件。
以下是使用钥匙串访问实用程序演示的一些步骤:
- 通过选择File > New Keychain并选择要在其中创建它的目录来创建一个新的钥匙串。将在与新钥匙串相同的目录中创建一个不可见文件。
- 删除不可见文件(使用 Finder 或终端)。
- 修改钥匙串的内容。例如,通过选择File > New Secure Note Item向钥匙串添加一个安全注释。将使用相同的名称重新创建不可见文件。
- 通过选择File > Delete Keychain > Delete References & Files 删除钥匙串。不可见的文件也将被删除。
更新
security
在终端中使用 Apple 的工具操作钥匙串时会创建相同的不可见文件:
创建一个新的钥匙串。还会创建一个不可见的文件。
$ cd ~/Desktop/ $ ls -1a . .. $ /usr/bin/security create-keychain ~/Desktop/Test.keychain $ ls -1a . .. .fl1BCE4B9A Test.keychain
删除不可见的文件。
$ rm .fl1BCE4B9A $ ls -1a . .. Test.keychain
修改钥匙串的内容(例如:通过添加互联网密码)。以相同的名称重新创建不可见文件。
$ /usr/bin/security add-internet-password -a account -s google.com -w password ~/Desktop/Test.keychain $ ls -1a . .. .fl1BCE4B9A Test.keychain
删除钥匙串。不可见的文件也被删除。
$ /usr/bin/security delete-keychain ~/Desktop/Test.keychain $ ls -1a . ..
问题
- 为什么会创建这些不可见的文件?他们的目的是什么?
- 文件名中的含义是什么
fl
? - 文件名中的 8 个十六进制字符是什么?某种标识钥匙串的唯一 ID 或哈希?
- 有没有办法防止在创建或修改钥匙串时创建这些文件?