可将sudo密码缓存时间延长至2小时或永久:用sudo visudo编辑/etc/sudoers,在末尾添加Defaults timestamp_timeout=120(2小时)或Defaults timestamp_timeout=-1(永不过期,慎用),保存后新开终端验证生效。

Mac终端中每次执行sudo命令都要输密码太打断操作节奏,想把默认的15分钟免密有效期延长到更实用的时长,比如2小时或永久缓存,但又不想完全关闭密码验证——这种精细控制必须通过修改sudo配置实现。
用visudo修改timestamp_timeout值
第一步:在终端中运行 sudo visudo,这会以安全方式打开/etc/sudoers文件并自动校验语法,避免手误导致系统无法使用sudo。
第二步:按↓键翻到文件末尾,在空白行插入以下内容(注意是英文半角字符):Defaults timestamp_timeout=120
第三步:按Esc退出编辑模式,再输入:wq回车保存退出。这一步不能用Command+S,vi模式下必须用:wq强制写入。
第四步:新开一个终端窗口,执行sudo ls /root(无需真实访问/root,只要能触发sudo认证即可),输入一次密码后,接下来120分钟内所有sudo命令都不再提示输入密码。
设置为永不过期(慎用)
方法一:仍用sudo visudo打开配置文件,在末尾添加:Defaults timestamp_timeout=-1
方法二:如果只想对当前用户生效,可添加更精准的规则:Defaults:<strong>【你的用户名】</strong> timestamp_timeout=-1
把“你的用户名”替换成whoami命令返回的实际名称,例如Defaults:alice timestamp_timeout=-1。
⚠️ 注意:设为-1后,只要不重启或手动清除时间戳缓存(sudo -k),就永远不需重输密码——一旦设备丢失或被远程接入,风险极高。
恢复默认或临时禁用缓存
执行sudo -k,立刻清空当前用户的sudo时间戳缓存,下次sudo必定要求输入密码。
若要彻底恢复15分钟默认值,用sudo visudo删掉之前添加的Defaults timestamp_timeout=*行即可,保存退出后立即生效。

















