sudo
使用 bash 时,会不时询问用户的密码。这解释如何改变该时间。
但是,我想知道是否可以同步它。我有一个相当强的密码,当我回到锁定的系统时,我必须先将密码输入到 ubuntu 屏幕保护程序中,然后在我正在使用的每个 shell 中输入密码……通常连续输入 4-5 次……有没有办法将所有这些条目合并起来?例如,当屏幕保护程序刚刚解锁或使用另一个终端时sudo
,sudo
不会再询问?
答案1
有没有办法将所有这些条目合并起来?
我相信您正在寻找的是票证设置的结果tty_tickets
。在最新版本的 sudo 中,此功能默认启用,尽管过去并非如此。
tty_tickets如果设置,用户必须基于每个 tty 进行身份验证。启用此标志后,sudo 将使用用户时间戳目录中以用户登录的 tty 命名的文件。如果禁用,则改用目录的时间戳。默认情况下,此标志处于启用状态。
答案2
我认为仅通过配置是不可能做到这一点的。
问题是,当您解锁屏幕保护程序时,您并没有提升权限。您甚至没有调用sudo
来解锁它。sudo
并且您的屏幕保护程序只是根据同一个数据库验证输入的密码。因此看起来您做了两次同样的事情,但事实并非如此。
您的屏幕保护程序可以将您输入的直接传递到sudo
解锁时自动提升,但那会很糟糕。
因此,解锁后您必须在每个终端窗口中重新提升权限,这很烦人。恐怕这也是设计使然。在进程之间共享(或操纵)提升的权限状态听起来不是我想要的。
我非常确定您可以编写某种脚本,枚举所有打开的终端窗口并插入sudo
并直接输入您的密码。然后,您可以尝试在屏幕保护程序解锁时自动调用该脚本。
但您不希望您的 root 密码出现在某个脚本中,该脚本会自动将其插入到一堆窗口中。你不知道。
总结不要自动化sudo
。