sudo 和fish:没有凭据缓存

Ytv*_*wlD 5 ubuntu debian sudo fish

fish用作我的标准外壳。我sudo有时使用。

但是我在凭据缓存方面遇到了问题。

在 Ubuntu 系统上,这有效:

niklas@Niklas-Mobil~> sudo true
[sudo] password for niklas:
niklas@Niklas-Mobil~> sudo true
niklas@Niklas-Mobil~>
Run Code Online (Sandbox Code Playgroud)

在 Debian 系统上,这不起作用:

niklas@ThinServer ~> sudo true
[sudo] password for niklas:
niklas@ThinServer ~> sudo true
[sudo] password for niklas:
niklas@ThinServer ~>
Run Code Online (Sandbox Code Playgroud)

但是在与同一用户的同一系统上bash

niklas@ThinServer:~$ sudo true
[sudo] password for niklas:
niklas@ThinServer:~$ sudo true
niklas@ThinServer:~$
Run Code Online (Sandbox Code Playgroud)

它也可以使用dash

为什么我在使用 fish 时没有缓存凭据?(我能做些什么来解决这个问题?)

cuo*_*glm 4

编辑您的/etc/sudoers,添加此行(或编辑,如果存在):

Defaults !tty_tickets
Run Code Online (Sandbox Code Playgroud)

fish不知何故认为命令来自单独的会话。这可能是由于 stat 报告的 tty 修改日期正在更改fishfutimes()这是鱼的叫声引起的

查看更多详情: