我不清楚这里的术语,所以请耐心等待。
我使用 Tmux。我sudo foo
在我当前的窗格中。它提示我输入密码;我输入它。现在,有一段时间,当我处理sudo
事情时,窗格不必再次提示我输入密码。
但是,如果我在当前窗口中创建一个新窗格(例如在保持原始窗格可见的同时编辑文件),并且 I sudo bar
,它将再次提示我输入密码。
在我创建它的那一刻,有没有办法将第一个窗格的“sudo unlocked”状态传递给第二个窗格?
就其价值而言,我的外壳是 Zsh。
需要明确的是:我在这里期待 Tmux 答案,也许是一种更改窗口拆分绑定以在创建窗格时执行某些命令的方法。但我也对配置这种行为的其他方式感兴趣。
Kus*_*nda 12
在您的系统上,一旦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
Run Code Online (Sandbox Code Playgroud)
或者
Defaults timestamp_type=global
Run Code Online (Sandbox Code Playgroud)
其中任何一个都会将身份验证与您当前的登录会话相关联,而不是与特定的 TTY 相关联。