Le contexte
J'aime travailler en public sur mon ordinateur portable, mais j'aime aussi utiliser sudo sans mot de passe. Sur la base de ce que je sais maintenant, j'utiliserais l' NOPASSWD
option dans mon sudoers
fichier, mais bien sûr, n'importe qui pourrait utiliser sudo comme bon lui semble.
Une pensée importante qui me vient à l'esprit est que des programmes de verrouillage existent. Cependant, je préférerais utiliser un lecteur flash (et l'utiliser uniquement pour sudo) parce que (1) il est plus rapide, (2) plus facile que d'entrer mon mot de passe, et (3) je ne me soucie pas que les gens accèdent à mon contenu ni fassent du mal choses: l'ordinateur portable serait en public autour d'autres personnes, et la seule propriété intellectuelle sur mon ordinateur portable est un projet Angular très basique.
De plus, moi-même et d'autres personnes souhaiterons peut-être empêcher l'utilisation abusive de sudo sur un ordinateur qui ne fonctionne pas dans un environnement X ou Wayland. Mon travail actuel nécessite un navigateur Web moderne, mais si jamais j'ai la chance de ne pas utiliser X et simplement d'utiliser un multiplexeur, je le fais - mon ordinateur portable est un peu vieux et lent.
Question
Ce que je voudrais faire, c'est mettre un fichier clé sur un lecteur flash, et simplement brancher le lecteur flash lorsque je suis à l'ordinateur portable, et le retirer lorsque je m'éloigne de lui.
Voici donc mes trois questions dérivées de ce problème:
- Est-ce possible avec sudo tel quel?
- Sinon, pourrais-je écrire un programme qui me permette de le faire?
- Si oui, quelle langue serait la meilleure pour écrire ce programme?
(4. [Peut-être une question étrangère] Ce package pourrait-il être séparé ou devrait-il être un fork de sudo?)
Remarque
Si cela est pertinent, ma configuration est Arch Linux avec bspwm, aucun environnement de bureau. La plupart de mon travail est le développement web dans urxvt / vim et le contrôle avec Chrome.
rootpw
indicateur dans les /etc/sudoers
fichiers et en configurant pam_usb
la connexion root.