I want net-snmpd to run a script via the extend directive.
This script has to run a command using doas to get temporary root permission.

The script is run on snmpcmd call but the doas command returns:
doas: a tty is required

Is there a way to run doas from net-snmpd ?
I already have doas running from collectd-exec without issues.


# More infos on configuration and commands

# grep extend /etc/snmp/snmpd.conf
extend test /home/scripts/test.sh

# grep snmpd /etc/doas.conf
permit nopass _snmpd as root

# userinfo _netsnmp
login   _netsnmp
passwd  *
uid     760
groups  _netsnmp
change  NEVER
class   daemon
gecos   Net-SNMP user
dir     /nonexistent
shell   /sbin/nologin
expire  NEVER

# cat /home/scripts/test.sh
#!/usr/bin/env ksh
echo ligne 1
echo ligne 2
doas -u root ls /bsd
exit 0

# snmpwalk -v 2c -c secret .
NET-SNMP-EXTEND-MIB::nsExtendOutLine."test".1 = STRING: ligne 1
NET-SNMP-EXTEND-MIB::nsExtendOutLine."test".2 = STRING: ligne 2
NET-SNMP-EXTEND-MIB::nsExtendOutLine."test".3 = STRING: doas: a tty is required

Reply via email to