DESCRIPTION¶
systemd-ask-password peut être utilisé pour
demander interactivement un mot de passe ou une phrase secrète en
spécifiant une question sur l’invite de commande.
Lorsqu’un TTY est utilisé, un mot de passe y est
demandé et affiché sur la sortie standard. Lorsque
utilisé sans TTY ou avec l’option --no-tty, il utilise
un mécanisme de requête basé sur un agent pour tout le
système ou pour un utilisateur particulier, et qui permet aux
utilisateurs actifs de répondre à l’aide de plusieurs
agents listés ci-après.
Le but de cet outil est de demander des mots de passe pour tout le
système ou pour un utilisateur particulier — dans le
premier cas, cela peut être des mots de passe non associés
à un utilisateur particulier. Cela peut être par exemple le
déverrouillage d’un disque dur chiffré lorsqu’il
est branché ou, au démarrage, la saisie d’une phrase
secrète de certificat SSL pour le web ou des serveurs VPN.
Les agents possibles au niveau système sont :
•un agent de mot de passe à
l’amorçage demandant à l’utilisateur un mot de
passe en utilisant
plymouth(8) ;
•un agent TTY engendré temporairement lors
d’invocations de
systemctl(1) ;
•un agent en ligne de commande pouvant être
démarré temporairement pour traiter une file d’attente de
requêtes de mot de passe
— systemd-tty-ask-password-agent --query.
La demande de mot de passe pour tout le système est une
opération demandant des privilèges, de là tous les
agents listés ci-dessus (excepté le dernier) sont
exécutés en tant que services du système avec
privilèges. Le dernier demande des privilèges plus
élevés, aussi doit-il être exécuté
à travers run0(1) ou similaire.
D’autres agents peuvent être mis en œuvre en
suivant la spécification d’agent de mot de passe de
systemd[1].
Si un mot de passe est demandé sur un TTY,
l’utilisateur peut presser la touche TAB pour cacher les
astérisques normalement affichés pour chaque caractère
saisi. Un appui sur la touche Retour Arrière comme première
touche a le même effet.
OPTIONS¶
Les options suivantes sont comprises :
--icon=
Indiquer un nom d’icône à
côté de la demande de mot de passe, qui peut être
utilisé par tous les agents gérant une interface graphique. Le
nom d’icône doit suivre la spécification de nommage
d’icône d’XDG[2].
--id=
Indiquer un identifiant pour cette demande de mot de
passe. L’identifiant est choisi librement et permet de reconnaitre les
demandes des agents impliqués. Il doit inclure le sous-système
réalisant la requête et l’objet spécifique de
destination. Exemple :
« --id=cryptsetup:/dev/sda5 ».
Ajouté dans la version 227.
--keyname=
Configurer le nom d’une clé du trousseau du
noyau à utiliser comme cache pour le mot de passe. Si cette option est
activée, l’outil tentera d’enregistrer tous les mots de
passe collectés dans le trousseau du noyau du superutilisateur, sous la
forme d'une clé portant le nom spécifié. Si elle est
combinée avec l’option
--accept-cached, cette option
tentera également de récupérer ces mots de passe mis en
cache à partir de la clé du trousseau du noyau au lieu
d’interroger immédiatement l’utilisateur. En utilisant
cette option, le trousseau du noyau peut servir de cache efficace pour
éviter de demander sans cesse des mots de passe aux utilisateurs,
s’il existe plusieurs objets pouvant être
déverrouillés avec le même mot de passe. La clé
mise en cache aura un délai d’expiration de 2,5 min,
après quoi elle sera supprimée du trousseau du noyau. Notez
qu’il est possible de mettre en cache plusieurs mots de passe sous le
même nom de clé ; dans ce cas, ils seront stockés
sous forme de liste de mots de passe séparés par NULL.
keyctl(1) permet d’accéder à la clé mise en
cache directement à l’aide du trousseau de clés du noyau.
Exemple : « --keyname=cryptsetup »
Ajouté dans la version 227.
--credential=
Configurer les identifiants pour pouvoir y lire le mot de
passe, s’il existe. Cette option peut être utilisée
conjointement avec les réglages
ImportCredential=,
LoadCredential= et
SetCredential= dans les fichiers
d’unité. Consulter
systemd.exec(5) pour plus de
détails. S’il n’y est pas indiqué, c’est
« password » par défaut. Cette option
n’a aucun effet si aucun répertoire d’identifiants
n’est passé au programme (c’est-à-dire
$CREDENTIALS_DIRECTORY n’est pas définie) ou si aucun
identifiant pour le nom indiqué n’existe.
Ajouté dans la version 249.
--timeout=
Indiquer le délai d’attente de
requête en seconde. Par défaut, 90 s. Un délai de
zéro conduit à un temps d’attente infini.
--echo=yes|no|masked
Contrôler si la saisie de l’utilisateur
doit être affichée. Cette option prend un booléen ou la
chaine spéciale « masked » (valeur par
défaut). Si activée, les caractères saisis sont
affichés littéralement, ce qui est utile pour une invite de nom
d’utilisateur ou d’autres données non
protégées. Si désactivée, les caractères
saisis ne sont en aucune façon affichés, l’utilisateur
n’aura aucun retour de sa saisie. Si définie à
« masked », un astérisque (*) est
affiché pour chaque caractère saisi. Dans ce mode, si
l’utilisateur frappe la touche de tabulation (↹),
l’affichage est supprimé. De même, si
l’utilisateur frappe la touche Retour Arrière (⌫) tandis
qu’aucune donnée n’a été saisie autrement,
l’affichage est aussi supprimé.
Ajouté dans la version 249.
--echo, -e
Équivalent à
--echo=yes, voir
ci-avant.
Ajouté dans la version 217.
--emoji=yes|no|auto
Contrôler s’il faut préfixer la
requête avec une émoticône de verrou et clé
(🔐), si les réglages du TTY le permettent. La valeur par
défaut est « auto » qui par défaut
est « yes », à moins que
--echo=yes
ne soit indiquée.
Ajouté dans la version 249.
--no-tty
Ne jamais demander de mot de passe sur le TTY actuel
même s’il en existe un disponible. Toujours utiliser le
système d’agents.
--accept-cached
Si indiquée, accepter les mots de passe mis en
cache, c’est-à-dire des mots de passe saisis auparavant.
--multiple
Utilisée conjointement avec l’option
--accept-cached, accepter plusieurs mots de passe. Cette option affiche
un mot de passe par ligne.
--no-output
Ne pas afficher les mots de passe sur la sortie standard.
C’est utile pour stocker un mot de passe dans le trousseau de
clés du noyau avec l’option
--keyname=, sans affichage
sur l’écran ou dans des journaux.
Ajouté dans la version 230.
-n
Par défaut, quand le mot de passe obtenu est
écrit sur la sortie standard, il est suffixé d’un
caractère de nouvelle ligne. Cela peut être
désactivé avec le commutateur
-n, de la même
manière que celui du même nom de la commande
echo(1).
Ajouté dans la version 249.
--user, --system
Contrôler s’il faut demander les agents de
mot de passe pour le système entier ou celui propre à
l’utilisateur. Par défaut, si l'opération est
effectuée avec des privilèges, les agents pour tout le
système sont interrogés, sinon, ce sont ceux propres à
chaque utilisateur. Ces options permettent d’outrepasser ce
comportement automatique.
Ajouté dans la version 257.
-h, --help
Afficher un aide-mémoire succinct et
quitter.