使用 sudo 从 sudoed 窗格创建 Tmux 窗格?

使用 sudo 从 sudoed 窗格创建 Tmux 窗格?

我对这里的术语不清楚,所以请耐心等待。

我用的是Tmux。我sudo foo在当前窗格中。它提示我输入密码;我输入它。现在,有一段时间,当我进行操作时,该窗格不必再次提示我输入密码sudo

但是,如果我在当前窗口中创建一个新窗格(例如,在保持原始窗格可见的同时编辑文件),并且 I sudo bar,它将再次提示输入我的密码。

有没有办法在我创建第一个窗格时将其“sudo 解锁”状态传递给第二个窗格?

无论如何,我的 shell 是 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 选项可用于指定所使用的时间戳记录的类型。它有以下可能的值:

这些值是globalppidtty(默认)和kernelsudoers有关每个值的说明,请参阅手册)。

您可能需要修改您的sudoers配置(通过visudo命令)以包括

Defaults !tty_tickets

或者

Defaults timestamp_type=global

其中任何一个都会将身份验证与您当前的登录会话而不是特定的 TTY 联系起来。

相关内容