You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何合法解决SNMP执行需输入sudo密码的脚本问题

解决SNMP执行脚本时sudo需要密码的问题

当通过SNMP扩展执行包含sudo -S ufw disable的脚本时,出现密码提示是因为SNMP扩展默认以Debian-snmp用户身份运行,而该用户执行sudo需要身份验证。以下是合法的解决步骤:

  • 编辑sudoers配置,允许免密执行指定命令

    1. 执行sudo visudo打开sudoers配置文件(必须用visudo,它会自动检查语法错误,避免配置失效)
    2. 在文件末尾添加一行配置:
      Debian-snmp ALL=(ALL) NOPASSWD: /usr/sbin/ufw disable
      
      这行配置允许Debian-snmp用户无需输入密码,执行ufw disable命令。
    3. 按Esc键,输入:wq保存并退出。
  • 优化脚本内容(可选)
    既然已经配置了免密sudo,脚本中的-S参数(用于从标准输入读取密码)可以去掉,修改后的脚本:

    #!/bin/bash
    sudo ufw disable
    
  • 验证配置有效性

    1. 切换到Debian-snmp用户:su - Debian-snmp
    2. 直接执行sudo ufw disable,确认无需输入密码即可执行
    3. 重新用snmpget调用脚本,检查是否还会出现密码提示

内容的提问来源于stack exchange,提问作者Berkay Ünsal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 03:48:35