Como usar 'systemd-ask-password-console.service'

1

Como devo usar systemd-ask-password-console.service ? Meu objetivo é acionar um prompt de senha e pedir informações no terminal alguns .

Atualmente estou tentando assim:

  1. Iniciar systemd-ask-password-console.service .
  2. Verifique se nenhum outro agente de senha está em execução: ps aux | grep ask
  3. Verifique se nenhum outro agente de senha deve ser iniciado: systemctl status systemd-ask*
  4. Execute systemd-ask-password --no-tty "Password:" para acionar o agente de senha.

A etapa 3 está aguardando que um agente retorne a senha e finalmente expira. Enquanto isso, a solicitação pode ser vista em /run/systemd/ask-password/ .

systemctl status systemd-ask-password-console.service mostra:

● systemd-ask-password-console.service - Dispatch Password Requests to Console
   Loaded: loaded (/lib/systemd/system/systemd-ask-password-console.service; static; vendor preset: 
   Active: active (running) since Fri 2018-05-11 16:46:43 CEST; 6min ago
     Docs: man:systemd-ask-password-console.service(8)
 Main PID: 392 (systemd-tty-ask)
    Tasks: 2 (limit: 4915)
   CGroup: /system.slice/systemd-ask-password-console.service
       ├─392 /bin/systemd-tty-ask-password-agent --watch --console
       └─393 /bin/systemd-tty-ask-password-agent --watch --console=/dev/tty1

May 11 16:46:43 debian systemd[1]: Started Dispatch Password Requests to Console.

Eu esperaria que o agente em execução processasse a solicitação e que usasse algum terminal (por exemplo, tty1 ) para solicitar a senha.
O que estou fazendo errado?

    
por doak 11.05.2018 / 16:58

2 respostas

2

systemd-ask-password-console.service is a system service that queries the user for system passwords (such as hard disk encryption keys and SSL certificate passphrases) on the console. It is intended to be used during boot to ensure proper handling of passwords necessary for boot. systemd-ask-password-wall.service is a system service that informs all logged in users for system passwords via wall(1). It is intended to be used after boot to ensure that users are properly notified.

link

porque não é possível ler de maneira confiável a partir do console enquanto outro processo ( sh ou login ) já está sendo lido no console. Mais especificamente, a entrada do usuário será passada para apenas um processo e você não poderá adivinhar qual processo será.

    
por 12.05.2018 / 09:29
2

How I am supposed to use systemd-ask-password-console.service?

Resumindo, você não é.

systemd-ask-password-console.service (8) é iniciado automaticamente através de sua unidade .path correspondente quando alguém faz uma solicitação de senha de solicitação. Os agentes ask-password devem ser iniciados simultaneamente, e o agente que primeiro alcança o usuário "ganha".

I would expect that the running agent processes the request and that it will use some terminal (e.g. tty1) to ask for the password.

Isso está correto. No entanto, ele não pedirá entrada em qualquer terminal, o que é praticamente impossível no Linux atual por motivos @sourcejedi declarados em sua resposta .

Leitura adicional

por 12.05.2018 / 10:45