Contexto
Eu gosto de trabalhar em público no meu laptop, mas também gosto de usar o sudo sem uma senha. Com base no que sei agora, eu usaria a NOPASSWD
opção no meu sudoers
arquivo, mas é claro que qualquer um poderia usar o sudo como quisesse.
Um pensamento importante que me vem à mente é que existem programas de bloqueio. No entanto, eu preferiria usar uma unidade flash (e usá-la apenas para sudo) porque (1) é mais rápida, (2) mais fácil do que digitar minha senha e (3) não estou preocupada com as pessoas acessando meu conteúdo nem fazendo coisas nefastas coisas: o laptop estaria em público próximo a outras pessoas, e a única propriedade intelectual do meu laptop é um projeto Angular muito básico.
Além disso, eu e outras pessoas podemos desejar impedir o uso indevido do sudo em um computador que não esteja executando um ambiente X ou Wayland. Meu trabalho atual exige um navegador moderno, mas se eu tiver a chance de não usar o X e usar apenas um multiplexador, faço isso - meu laptop é um pouco velho e lento.
Questão
O que eu gostaria de fazer é colocar um arquivo de chave em uma unidade flash e simplesmente conectar a unidade flash quando estou no laptop e retirá-la quando me afastar dela.
Então, aqui estão minhas três perguntas derivadas desse problema:
- Isso é possível com o sudo como está?
- Caso contrário, eu seria capaz de escrever um programa que me permita fazer isso?
- Em caso afirmativo, qual idioma pode ser o melhor para escrever este programa?
(4. [Talvez uma pergunta estranha] Este pacote poderia ser separado ou precisaria ser um fork do sudo?)
Nota
Se for relevante, minha configuração é o Arch Linux com bspwm, sem ambiente de desktop. A maior parte do meu trabalho é desenvolvimento web no urxvt / vim e verificação no Chrome.
rootpw
sinalizador nos /etc/sudoers
arquivos e a configuração pam_usb
para login raiz.