Как заблокировать разблокированный брелок GNOME?

2866
cbun

Предлагается ввести пароль для разблокировки набора ключей GNOME при входе в свою учетную запись. Мне было интересно, как заблокировать брелок в том же сеансе, который был разблокирован? (Я понимаю, что могу выйти, а затем войти снова для того же эффекта)

Это может быть полезно, если по какой-то (-ым) причинам я чувствую некоторую подозрительную активность и хочу сначала заблокировать все программы для дальнейшего доступа к связке ключей, прежде чем я исследую подозрительную активность.

Кроме того, есть ли возможность просто заблокировать графический интерфейс для GNOME Keyring (Seahorse)?

1

2 ответа на вопрос

3
Ángel

You only need to call gnome_keyring_lock_all_sync().

Here's a simple program which does that:

lock-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; } } 

Compile with cc lock-keyring.c -o lock-keyring -Wall $(pkg-config gnome-keyring-1 --cflags --libs)

Это выглядит очень полезным, спасибо! Это немного не по теме, но как я могу получить необходимые зависимости, чтобы я мог построить это лакомство? Я попробовал `sudo apt build-dep gnome-keyring` и` apt source gnome-keyring`; это, кажется, не приносит правильные заголовки и т. д. Ура! sxc731 6 лет назад 0
@ sxc731 Рад, что вы нашли это полезным! Needed Необходимые пакеты будут отличаться для каждого дистрибутива, в вашем случае на основе Debian вы, вероятно, отсутствует [libgnome-keyring-dev] (https://packages.debian.org/stretch/libgnome-keyring-dev) Ángel 6 лет назад 0
0
Boogy

Единственное, что вы можете сделать, если произойдет какое-то подозрительное действие, это убить gnome-keyring-daemon следующим образом:

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 

источник

Я надеялся на более чистый способ сделать это. Тем не менее ваш ответ служит цели. Извините за поздний ответ. cbun 10 лет назад 0