Getting Yaptest to work with Sudo
When you first install yaptest and try to use sudo you might get the following error:
$ sudo yaptest-nmap-udp.pl
ERROR: Environment variable YAPTEST_DBNAME is not set
at /usr/local/lib/site_perl/yaptest.pm line 126
yaptest::new('yaptest') called at /usr/local/bin/yaptest-hosts.pl line 8
(in cleanup) Can't call method "disconnect" on an undefined value at /usr/local/lib/site_perl/yaptest.pm line 3247.
This is because sudo has (very sensibly) unset the environment variable YAPTEST_CONFIG_FILE which in turn prevents YAPTEST_DBNAME getting set. The yaptest scripts no longer know which test they’re supposed to be working on.
The solution is simple. Add an entry like the following into /etc/sudoers:
# Allow users in group users to export specific variables
Defaults:youruser env_keep="DISPLAY YAPTEST_CONFIG_FILE"
This prevents sudo from unsetting the YAPTEST_CONFIG_FILE (and also DISPLAY because that can be a pain too).
Posted in Using