dmenuでパスワードを隠す

dmenuでパスワードを隠す

私は初めてdmenuを使います。sudodmenu権限を必要とするプログラムを実行しようとしています。私はフォローしましたこのリンク。だから私のフォルダには次の./dpassスクリプトがあります。bin

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

私も次のコマンドを実行しました。

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

binこれで、次のフォルダがありますshutdown

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

dmenuで実行しようとするとパスワードを尋ねられますが、問題はパスワードを入力してもパスワードが隠されないことです。誰でも私のパスワードを見ることができるので、これは本当に安全ではないと思います。 dmenuでパスワードを隠す方法はありますか?

ベストアンサー1

&& echo通話が終わったら削除してみてくださいdmenu

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

これにより、ユーザー入力エコーが無効になりますdmenu。この方法は、次のタイトルのブログ投稿で説明されています。dメニューでパスワードを入力してください

抜粋
$ 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. パラメータが渡されない場合は、呼び出し側アプリケーションにプロンプ​​ト(赤い部分)が設定されます。したがって、ユーザーは常に一種のプロンプトを受け取ります。
  2. && echo他のパスワードハンドラと連携するように末尾のステートメントを削除します。

おすすめ記事