当我登录我的用户帐户时,系统会提示输入密码以解锁 GNOME 密钥环。我想知道如何在解锁后的同一会话中重新锁定密钥环?(我知道我可以注销然后再次登录以获得相同的效果)
如果由于某种原因,我觉得有些可疑活动,并想在调查可疑活动之前首先阻止所有程序进一步访问密钥环,这可能会有所帮助。
另外,有没有办法可以锁定 GNOME Keyring(Seahorse)的 GUI?
答案1
如果发生一些可疑活动,你可以做的一件事就是杀死gnome-keyring-守护进程像这样:
kill -9 $(pgrep gnome-keyring-d)
您只需编写一个简单的脚本即可自动完成此操作:
#!/bin/bash
case $1 in
hibernate)
pkill gnome-keyring-d
;;
suspend)
pkill gnome-keyring-d
;;
thaw)
;;
resume)
/usr/bin/gnome-keyring-daemon --daemonize --login
;;
*) echo "Somebody is calling me totally wrong."
;;
esac
答案2
你只需要打电话gnome_keyring_lock_all_sync()。
这是一个完成这个任务的简单程序:
锁-keyring.c:
#include <stdio.h>
#include <gnome-keyring.h>
int main() {
GnomeKeyringResult lock_result = gnome_keyring_lock_all_sync();
if (lock_result == GNOME_KEYRING_RESULT_OK) {
printf("Successfully locked\n");
return 0;
} else {
printf("Error locking keyring: %d\n", lock_result);
return 1;
}
}
使用以下方式编译cc lock-keyring.c -o lock-keyring -Wall $(pkg-config gnome-keyring-1 --cflags --libs)
答案3
Gnome 密钥环可以通过 dbus 锁定:
dbus-send --dest=org.gnome.keyring --print-reply /org/freedesktop/secrets org.freedesktop.Secret.Service.LockService
# or with qdbus
qdbus org.gnome.keyring /org/freedesktop/secrets org.freedesktop.Secret.Service.LockService
来源:https://github.com/Intika-Linux-Apps/Gnome-Keyring-Tools/issues/1#issuecomment-443358508
答案4
在 Gnome 密钥环的主 GUI 中(至少在当前版本,即 seahorse 3.36 中),用户可以右键单击密钥环以获取上下文菜单,其中提供了锁定密钥环的选项。除了默认密钥环(称为“登录”)之外,还可以创建更多密钥环,并将密码存储在不同的密钥环中,这样密码就不会同时可用。