J'avoue n'avoir aucune idée de comment traduire les messages de scripts... en C, je sais faire, mais en sh? Ceci est un appel à bonne âme: un journal sur comment traduire du script serait plussé par au moins moi :)
S'il y a peu de chaînes de caractères, on peut se contenter de définir un fichier shell par langue, chacun exportant les variables contenant les chaînes de caractères dans une langue particulière, puis au moment de la conception de l'initrd copier la langue voulue dans l'image.
en_US.UTF-8.sh :
CUW_PLEASE_UNLOCK="Please enter passphrase for unlocking %s"
fr_FR.UTF-8.sh :
CUW_PLEASE_UNLOCK="Merci d'entrer la phrase de passe pour déverrouiller %s"
Blague à part, systemd impacte vraiment l'initrd? Pour dracut, il me semblait que c'est juste un système de de build, une sorte d'autotools spécialisé, et clevis, je connais pas.
systemd peut se charger de déverrouiller un périphérique et chercher le programme approprié pour récupérer le mot de passe auprès de l'utilisateur si besoin. On pourrait imaginer ajouter un "provider de mot de passe" consistant en ce petit serveur. Par contre, un initrd n'embarque a priori pas systemd, donc je ne sais pas si c'est pertinent de chercher dans cette direction.
clevis est un système générique pour déverrouiller des choses, avec plusieurs mécanismes pour stocker/récupérer le secret voulu. Parmi ces mécanismes : sss (Shamir secret) pour diviser le secret en plusieurs bouts, tpm2 pour stocker la clé sur un module matériel dédié à la protection des secrets (Hardware security module), tang consistant à verrouiller le secret par une clé présente sur un serveur, permettant de faire en sorte que le déverrouillage ne se fasse que si l'ordinateur est sur le réseau avec ce serveur (network-bound disk encryption). Clevis est notamment utilisé pour déverrouiller des disques LUKS dans des initrd générés par dracut (cf. par exemple clevis-dracut dans Debian).
[^] # Re: Interface de déchiffrement : web ?
Posté par Samuel (site web personnel) . En réponse au journal installation d'une debian chiffrée via LUKS sur un VPS. Évalué à 1.
S'il y a peu de chaînes de caractères, on peut se contenter de définir un fichier shell par langue, chacun exportant les variables contenant les chaînes de caractères dans une langue particulière, puis au moment de la conception de l'initrd copier la langue voulue dans l'image.
en_US.UTF-8.sh :
fr_FR.UTF-8.sh :
Puis dans le script générant la page web :
systemd peut se charger de déverrouiller un périphérique et chercher le programme approprié pour récupérer le mot de passe auprès de l'utilisateur si besoin. On pourrait imaginer ajouter un "provider de mot de passe" consistant en ce petit serveur. Par contre, un initrd n'embarque a priori pas systemd, donc je ne sais pas si c'est pertinent de chercher dans cette direction.
clevis est un système générique pour déverrouiller des choses, avec plusieurs mécanismes pour stocker/récupérer le secret voulu. Parmi ces mécanismes : sss (Shamir secret) pour diviser le secret en plusieurs bouts, tpm2 pour stocker la clé sur un module matériel dédié à la protection des secrets (Hardware security module), tang consistant à verrouiller le secret par une clé présente sur un serveur, permettant de faire en sorte que le déverrouillage ne se fasse que si l'ordinateur est sur le réseau avec ce serveur (network-bound disk encryption). Clevis est notamment utilisé pour déverrouiller des disques LUKS dans des initrd générés par dracut (cf. par exemple clevis-dracut dans Debian).