親/子プロセス全体にsudo権限を付与するには?

親/子プロセス全体にsudo権限を付与するには?

sudo grantが親/子プロセスでどのように機能するかを調べていますが、混乱しています。

ターミナル(グラフィック環境のエミュレータ)を開き、次を実行すると:

$ sudo bash -c "sudo -v"
# I'm asked the password
$ sudo -v
# I'm not asked the password

子プロセスにsudo権限が付与されると(子シェルを介して)、親プロセス(現在のシェル)にもその権限が付与されることがわかります。

ただし、同じ端末エミュレータで新しいタブを開き、次のコマンドを実行すると:

$ sudo -v

これでパスワードの入力を求められます。

両方のシェル/タブは同じ端末エミュレータプロセスの子であるため、sudo許可は単純な親/子関係と異なる/追加の関係に基づいています。

sudoのマニュアルページを確認しましたが、この特定の情報が含まれていないようです。

親/子プロセスに関連する権限は正確にどのように付与されますか?

ベストアンサー1

子プロセスにsudo権限が付与されると(子シェルを介して)、親プロセス(現在のシェル)にもその権限が付与されることがわかります。

いいえ、子供は両親に影響を与えません。

2番目はsudo最初の5分以内に実行されるため、パスワードは必要ありません。

sudo別のウィンドウのシェルは、最初のウィンドウのシェルとは異なる資格情報キャッシュを使用する別のシェルで実行されています。キャッシュが空なので、パスワードが必要です。

おすすめ記事