ここでは用語が明確ではありませんのでご了承ください。
私はTmuxを使用しています。私はsudo foo
現在ウィンドウにあります。パスワードの入力を求められます。今しばらくは、私が仕事をしているときにパスワードを再度求めるメッセージは表示されませんsudo
。
ただし、現在のウィンドウに新しいウィンドウを作成し(たとえば、元のウィンドウを表示した状態でファイルを編集する)、そうすると、パスワードの再入力を求めsudo bar
られます。
最初のウィンドウを作成するときに、最初のウィンドウの「sudoロック解除済み」状態を2番目のウィンドウに渡す方法はありますか?
とにかく私のシェルはZshです。
明確に言えば、ここでTmuxの答えを探しています。それはおそらく、ウィンドウが作成されたときに特定のコマンドを実行するためにウィンドウ分割バインディングを変更する方法でしょう。しかし、私はこの動作を構成する他の方法にも興味があります。
ベストアンサー1
システムでsudo
認証されると、その認証は実行中の特定のTTYに関連付けられますsudo
。各ウィンドウにはtmux
独自のTTYがあります。
sudo
tty_ticket
このオプションは、システムでデフォルトで使用または使用されますtimestamp_type=tty
(デフォルトであるため、不明瞭になる可能性があります)。これらの設定はsudoers
マニュアルに記載されています。
tty_tickets
設定されている場合、ユーザーはttyごとに認証する必要があります。このフラグが有効になると、
sudo
各端末のタイムスタンプファイルに別々のレコードが使用されます。無効にすると、すべてのログインセッションに単一のレコードが使用されます。このオプションはオプションに置き換えられました
timestamp_type
。
timestamp_type
sudoers
資格情報のキャッシュには、ユーザー固有のタイムスタンプファイルを使用します。 timestamp_typeオプションは、使用されるタイムスタンプレコードの種類を指定するために使用できます。可能な値は次のとおりです。
これらの値はglobal
、、、(デフォルト)および(各値の説明はマニュアルを参照)です。ppid
tty
kernel
sudoers
含めるには、コマンドを使用して構成をsudoers
変更する必要があります。visudo
Defaults !tty_tickets
または
Defaults timestamp_type=global
どちらかは、特定のTTYではなく現在のログインセッションに認証を関連付けます。