Feature Request - Notify Prompt - Willing to create PR
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
The proof of concept points to src/tgetpass.c, in tgetpass just before the prompt is written. First read how prompt handling and sudoers defaults are defined and validated, including their visudo editing path; the issue does not identify those entry points. Done means a scoped, safe configuration design and implementation that notifies when sudo waits for a password, with behavior and security expectations defined.
索引モデルが issue の本文から書いたものです。
説明
I often have multiple terminals open with each terminal running some pipeline, (compiling, linting, installing, etc).
Some of those pipelines take a very long time and other than intermittently checking back in with each terminal, I have no way of knowing if a pipeline is done compiling and waiting to install and sitting at a sudo prompt for installation permission.
I would like to provide a user-configurable way to hook some (pre-approved and defined) external tool to let me know that sudo is waiting for input before it eventually times out the and pipeline fails.
I have a proof of concept which accomplishes exactly what I want:
// in src/tgetpass.c::tgetpass
// right before writing the prompt to output
if (notify) {
system("notify-send \"sudo\" \"sudo is prompting for a password\"");
}
I realize I don't want the external tool to be any arbitrary executable which could allow an injection and I don't want the notification to be configurable either. I would imagine that the user could specify something in the sudoers conf file something like:
Defaults promptpass_notify=notify-send
And the values for that option would be checked at init time to ensure there are no arbitrary calls to unexpected notifier scripts. (Although I realize someone could just symlink whatever they want, is this even a concern? This would be executed before sudo was even authorized to execute the given command)
I would be willing to do the legwork on this feature, but I got stuck in understanding how to implement this with support for editing with visudo and where a flag like this would live in conf or if it should just be an env flag.
- 主要言語
- C
- スター
- 1.7k
- フォーク
- 306
- 平均マージ
- 1日 8時間
- マージ済み PR(30日)
- 24
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
sudo-project/sudo のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 42/100
sudo-project/sudo#583 ·
メンテナーはふだん 1 日以内に返信
-
Signal forwarded to the command is lost when it arrives between fork() and execve() of the commandオープン
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
sudo-project/sudo#566 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 52/100
sudo-project/sudo#553 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
sudo-project/sudo#552 ·
メンテナーはふだん 1 日以内に返信
-
Documentation text overflows container instead of wrapping再び着手できるかも @BittuBarnwal7479 が 133 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 58/100
sudo-project/sudo#547 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
sudo-project/sudo の issue をすべて見る
似ている issue
-
documentation severity: low
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
luainkernel/lunatik#2231 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
apache/arrow-swift#209 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
libretiny-eu/libretiny#435 ·
メンテナーはふだん 4 日以内に返信
-
Needs-Triage
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
trezor/trezor-firmware#8210 ·
メンテナーはふだん 3 日以内に返信