Ocultar senha no dmenu

0

Sou novo no dmenu. Estou tentando executar programas que precisam de sudo permission com dmenu. Eu segui este link . Então eu tenho o script ./dpass na minha pasta bin que diz:

#!/bin/bash
dmenu -p "$1" <&- && echo

Eu também executei o comando:

$ export SUDO_ASKPASS=/home/username/bin/dpass

Agora, tenho um script na minha pasta bin chamada shutdown . Diz:

#!/bin/bash
sudo -A shutdown -h now

Quando eu tento executá-lo através do dmenu, ele me pergunta a senha, mas o problema é que, quando digito a senha, a senha não fica oculta. Acho isso muito inseguro, pois qualquer um pode ver minha senha. Existe alguma maneira de esconder senhas em dmenu?

    
por eddard.stark 21.08.2018 / 06:06

1 resposta

1

Tente remover o && echo do final da chamada para dmenu :

#!/bin/bash
dmenu -p "$1" <&-

Isso deve desabilitar o eco do que o usuário está digitando em dmenu . Este método é coberto neste post intitulado: Insira as senhas do dmenu .

trecho
$ cat dpass
#! /bin/sh

# shellcheck disable=2046
caller="$(ps -o comm= -p $(ps -o ppid= -p $$))"
prompt="${1:-[$caller]}"
promptfg=black promptbg=red hidden=white
font="Liberation Sans-20:Bold"

dmenu -p "$prompt" -fn "$font" \
  -nf "$hidden" -nb "$hidden" -sf "$promptfg" -sb "$promptbg" <&-
  1. It sets the prompt (red part) to the calling application, if no args were passed. So the user always gets a prompt of some kind.
  2. It removes the trailing && echo statement, so it works on other password handlers.
    
por 21.08.2018 / 06:35