существует «двухфакторная аутентификация» для sudo, если не так, как это сделать?

tl; dr normaly, чтобы получить привилегии root через sudo требует специальной учетной записи пользователя и использования ее кодовой фразы в качестве средства для авторизации. Из-за атаки keylogging / replay (в сеансе X.org) я хотел бы добавить еще один уровень безопасности (например, требование наличия ключа usb). Это возможно?

длинная версия
Я знаю, что быть root может быть опасным, но иногда я делаю sudo -i для некоторых задач, которые я не настраивал для работы без корневых привилегий. Будучи ленивым, я часто делаю это во время сеанса X.org, и проблема в том, что другой кастрированный / изолированный веб-браузер может читать мою пользовательскую кодовую фразу. С помощью этой кодовой фразы эскалация возможна через sudo . Я хотел бы смягчить это, только разрешив использование sudo когда присутствует второй второй фактор аутентификации (аппаратное обеспечение, предотвращающее только атаку программного обеспечения). Поэтому мой вопрос.

Используя udev, я мог соответствующим образом обновить / отредактировать файл / etc / sudoers (т.е. динамически для моего пользователя для sudoers при наличии ключа usb). Мой вопрос в том, есть ли более простой способ сделать это. Мое чтение man sudo не предоставило мне ни одного, но, возможно, есть способ.

Уточнение: я знаю, что многие типы клавиатурных шпионов являются доказательством того, что коробка принадлежит и потеряна в любом случае. Я спрашиваю здесь, потому что я утверждаю, что приложения X.org Gui в некоторой степени свободны, чтобы обнюхать друг друга на клавиатуре, тем самым мешая мне использовать sudo внутри сеанса X.org.