Red*_*dro 38 command-line keyrings mount password luks
当您LUKS
的计算机中有加密驱动器时,Nautilus
或者Nemo
将其显示Devices
为带有小锁的驱动器。
单击它时,您需要输入密码。如果您选择remember this password forever
,它会被保存到您的钥匙圈中。下次启动时,单击驱动器将立即安装它。
如何从终端“立即安装”密码存储在密钥环中的驱动器?我想要一个自动启动脚本,它会在我登录时挂载我的 LUKS 驱动器。我不想在脚本中存储我的密码,我想使用密钥环中的密码:
如果你去Passwords And Keys
,那里有一堆无名的钥匙。在它们的属性中,您可以找到类似的描述gvfs-luks-uuid=xxxxxxxxxxxx
以及该 LUKS 驱动器的密码。这就是 Ubuntu 使用的。
我想到的一种选择是python-gnomekeyring
但它只能获取密钥名和密码。我需要 GUI 所谓的“技术细节”来获取特定密码,uuid
因为键名始终为空。
Aur*_*ien 41
您可以使用secret-tools来存储和检索密钥环中的密码。
要存储新密码:
secret-tool store --label='Password for mydrive' drive mydrive
Run Code Online (Sandbox Code Playgroud)
我让你检查钥匙圈的外观。查找它(这个命令可以很容易地插入到你的脚本中):
secret-tool lookup drive mydrive
Run Code Online (Sandbox Code Playgroud)
Red*_*dro 10
我认为唯一的答案是通过python
,但是有两个错误使事情变得困难。
如果您正在使用脚本和密钥环,请提及这些错误也会影响您。
至于python
部分,这里是一个例子:
#!/usr/bin/env python
import gnomekeyring as gk
keyring = 'login'
keyItems = gk.list_item_ids_sync(keyring)
for keyItem in keyItems:
key = gk.item_get_info_sync(keyring, keyItem)
if key.get_display_name() == 'KeyName you are looking for':
# Your script here using key.get_secret()
print "Password:", key.get_secret()
Run Code Online (Sandbox Code Playgroud)
如果您知道任何其他方式,例如通过简单的 bash 命令,请告诉我们。
它有一个方便的 CLI 可用于 shell 脚本。
pip install keyring
Run Code Online (Sandbox Code Playgroud)
$ keyring set system username
Password for 'username' in 'system':
$ keyring get system username
password
Run Code Online (Sandbox Code Playgroud)