Как раз проще сделать с sudo. Например, разрешить выполнять конкретно определённые команды только для пользователя на определенном хосте и без пароля:
имя_пользователя название_хоста= NOPASSWD: /usr/bin/nmap
И не забывайте, что сканирование портов считается попыткой взлома и влечет уголовную ответственность.