現在、いくつかのスクリプトでsudoを多く使用していますが、一部のスクリプトでは対話型入力(Makefileなど)が許可されていないため、少し面倒です。
sudoパスワードを完全に無効にする代わりに、gnome-keyringまたは同様のキーリングソフトウェアを使用してパスワードを覚えておくことができると思います。これは良い考えですか?可能ですか?より良い解決策はありますか?
ベストアンサー1
プログラム-A
オプションと組み合わせると、あなたが求めるものが実現可能であると聞こえます。sudo
gnome-keyring-query
デフォルトでは、このオプションを使用すると、-A
標準入力からパスワードを読み取るのではなく、環境変数をsudo
使用して指定できる外部プログラムからパスワードを読み込みます。SUDO_ASKPASS
外部プログラムは、gnome-keyring-query
パスワードを保存/検索するためのコマンドラインツールですgnome-keyring
。助ける方法は次のとおりですgnome-keyring-query
。
Usage:
gnome-keyring-query <mode> <name>
Parameters:
mode - either 'get' or 'set' (without quotes)
name - a name to identify the key
Notes:
If mode is 'get', then the password is dumped to stdout.
If mode is 'set', then the password is read from stdin.
進める方法は次のとおりです(今試してみましたが効果がありました)。
- gnome-keyring-queryのインストール(配布版にパッケージされていない場合はコンパイルする必要があります)->アップストリームURL)
- gnome-keyringにsudoパスワードを保存してください。
- 以下では、キーリングでパスワードを検索できます。
gnome-keyring-query get sudo
- このコマンドをスクリプト(/usr/bin/sudo_askpassなど)として保存し、chmodを使用して実行できることを確認してください。
export SUDO_ASKPASS=/usr/bin/sudo_askpass
- 代わりにsudoを使用してください
sudo -A
。
つまり、パスワードをキーリングに保存してキーリングを開いたままにしておくと、誰でもこのgnome-keyring-queryツールを使用したり、海馬を起動して非常に簡単にsudoパスワードを読み取ることができます。だからとても注意してください。