设置 defaults:opsadmin timestamp_timeout=0 可强制该用户每次 sudo 均需重输密码,配合 tty_tickets 能防止多终端间密码缓存复用,配置后通过 sudo -v 和二次 sudo ls /root 验证生效。

直接在 /etc/sudoers 或其包含文件中为该账号设置 Defaults:username timestamp_timeout=0,就能强制每次 sudo 命令都重新验证密码。这是最有效、最明确的控制方式,无需改全局策略,也不影响其他用户。
精准配置该用户的免缓存策略
使用 visudo 安全编辑(防止语法错误锁死 sudo):
- 运行
sudo visudo -f /etc/sudoers.d/secure-user(推荐新建独立文件,便于管理与回滚) - 添加一行:
Defaults:opsadmin timestamp_timeout=0(把opsadmin换成你的真实用户名) - 保存退出。配置立即生效,无需重启任何服务
为什么必须用 Defaults:username 而非 Defaults
Defaults timestamp_timeout=0 是全局设置,会影响所有用户;而 Defaults:username 有更高优先级,只作用于指定用户,且不会被后续其他 Defaults 行覆盖。系统按读取顺序应用规则,靠后的匹配项生效——所以放在 /etc/sudoers.d/ 中的文件(通常最后加载)天然具备优势。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
配合 tty_tickets 防跨终端复用
仅设 timestamp_timeout=0 已足够强制重认证,但若该账号常在多终端操作(如 SSH 多窗口、tmux 分屏),建议追加:
-
Defaults:opsadmin tty_tickets:为每个终端(TTY)单独生成时间戳文件,避免一个终端输过密码后,其他终端自动获得权限 - 这两项组合(
timestamp_timeout=0+tty_tickets)能彻底关闭“一次认证、多处通行”的风险路径
验证是否生效与日常维护
配置后建议快速验证:
- 用该账号执行
sudo -v(刷新时间戳),再立刻执行sudo ls /root—— 应正常通过 - 等待 1 秒后再次执行
sudo ls /root—— 必须提示输入密码(不是“密码已过期”,而是直接要密码) - 检查语法:运行
sudo visudo -c,确认无报错 - 养成习惯:敏感操作后执行
sudo -k,主动清空当前终端的时间戳
不复杂但容易忽略










