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


1

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

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

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

Ответы:


0

Единственное, что вы можете сделать, если произойдет какое-то подозрительное действие, это убить демона 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

4

Вам нужно только вызвать 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)


Это выглядит очень полезным, спасибо! Это немного не по теме, но как я могу получить необходимые зависимости, чтобы я мог построить это лакомство? Я пытался sudo apt build-dep gnome-keyringи apt source gnome-keyring; это, кажется, не приносит правильные заголовки и т. д. Ура!
sxc731

@ sxc731 Рад, что вы нашли это полезным! Needed Необходимые пакеты будут отличаться для каждого дистрибутива, в вашем случае на основе Debian вы, вероятно, пропускаете libgnome-keyring-dev
Ángel

@ Ángel Это работает, когда выполняется как команда на терминале, но не работает на cron/ cronie. Кто-нибудь знает почему или имеет подобную проблему?
alexandre1985

1
@ alexandre1985 cron выполняет команду из другого сеанса. Вам, вероятно, потребуется установить переменную окружения ( DBUS_SESSION_BUS_ADDRESS?), Чтобы она подключалась к работающему брелоку. Вам придется либо угадать его (например, поиск пути, по которому он был создан), либо сохранить переменные окружения в сеансе X и загрузить их перед блокировкой скрипта.
Анхель

@ Анхель Большое спасибо! :) установка DBUS_SESSION_BUS_ADDRESSenv) по моей команде внутри cron, сделал это! Большое вам спасибо: D: D
alexandre1985
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.