Как аутентифицировать пользователя клиента Spice на основе пользователя, вошедшего в гостевую виртуальную машину с помощью libvirt / kvm? - PullRequest
0 голосов
/ 02 октября 2019

Простой пользовательский рассказ:

Хост, система A (sA) (qemu / kvm в Ubuntu 18.04),
VM, sB (некоторые linux, GUI).
Клиент, sC (дляпозже использовать).

Пользователи u1 и u2 в sA входят в группу libvirt, поэтому они могут запускать и останавливать одни и те же виртуальные машины.
Использование значений по умолчанию при создании виртуальной машины (кажется, что нет билетов).

Пользователь u1 запускает sB с помощью virt-manager / Spice on sA.
Пользователь u2 может «украсть» сеанс пользователя u1 на sB или sC, даже не вводя пароль.

Исследование:

Я много читал о билетах, но я все еще не понимаю, как сделать его простым, но безопасным.
Решение 1 / настройка пароля виртуальной машины: для проблемы и u1, и u2 нужен пароль, что противоречит цели.
Решение 2 / sasl и
решение 3 / kerberos: для обоих решений мне все еще нужны u1 и u2, чтобы иметь возможность администрировать sB (запуск / остановка / перезагрузка / вход в систему / обновление системы ...). Как я могу предотвратить u1 и u2 от кражи открытого сеанса от другого, когда они вошли в sB? Или, по крайней мере, защитите его паролем пользователя на sB!

Я бы увидел простой способ сделать это: заблокировать экран на sB при получении сеанса. Проблема: я не смог выяснить, как это реализовать.

В настоящее время единственное решение, которое я могу найти, - это запустить VNC-сервер в гостевой системе (sB), которая имеет эту возможность (x11vnc),но это будет означать отказ от преимуществ Spice (автоматическая и эффективная конфигурация графики и аудио и общий пользовательский опыт).

Вопрос:

Где я могу найти информацию, которая объясняет ясно и просто, как яМожно ли достичь (гостевая система, sB) аутентификации на уровне пользователя, тем самым не давая пользователям возможности украсть сеансы друг друга у sA или sC, но все же позволить нескольким пользователям управлять VM (sB)?

...