Как я могу программно «извлечь» связку ключей в OS X?
762
ELLIOTTCABLE
Я использую скрипт для извлечения небольшого USB-ключа, который я использую в качестве «идентификационного» диска, который содержит некоторую защищенную информацию. Следует отметить, что в нем есть файл «связки ключей» OS X, в котором содержатся некоторые из моих более безопасных и важных паролей (те, которые я готов посвятить программе управления паролями вообще, но которые слишком важны, чтобы оставлять их в покое). на моих компьютерах или синхронизированы с Dropbox.)
Этот файл связки ключей имеет символическую ссылку из ~/Library/Keychains/папки Apple на этот мой ключ, скажем так /Volumes/Key/SECURE.keychain. Когда я извлекаю диск, эта символическая ссылка исчезает, и цепочка для ключей, очевидно, перестает быть доступной в рамках Keychain Access:
Это все хорошо… за исключением того, что я не могу извлечь этот диск, не закрыв половину программ на моем Mac. Я не могу сказать, что ни по какой веской причине любое приложение, которое по какой- либо причине обращается к любому брелку, открывает (и сохраняет как открытый) каждый .keychainфайл, о котором знает система. Например, как только я подключаю диск, когда ничто вообще не запрашивает доступ к этой вторичной, безопасной, моей цепочке ключей:
> lsof '/Volumes/Key/SECURE.keychain' COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME Spotify 2801 elliottcable txt REG 1,8 89096 319 /Volumes/Key/SECURE.keychain syncdefau 4267 elliottcable txt REG 1,8 89096 319 /Volumes/Key/SECURE.keychain
Как можно безопасно извлечь этот диск, не убивая каждый процесс, в котором этот файл открыт? Можно ли каким-то образом извлечь файл из процессов удаленно или что-то в этом роде?
Only unlocked keychains will prevent you from unmounting the volume they're stored on. If you lock the keychain, you'll be able to unmount without any problems.
To do this from a shell (script), use the command line tool security: