     if opts.command == 'outgoing' and NO_OUTGOING_FIREWALL
         opts.cb()
         return
+    firewall_cmd = "#{process.env.SALVUS_ROOT}/scripts/smc_firewall.py"
+    if USERNAME != 'root'
+        command = 'sudo'
+        args = [firewall_cmd, opts.command].concat(opts.args)
+    else
+        command = firewall_cmd
+        args = [opts.command].concact(opts.args)
+
     misc_node.execute_code
-        command : 'sudo'
-        args    : ["#{process.env.SALVUS_ROOT}/scripts/smc_firewall.py", opts.command].concat(opts.args)
+        command : command
+        args    : args
         bash    : false
         timeout : 30
         path    : process.cwd()


if process.env.SMC_STORAGE?
    STORAGE = process.env.SMC_STORAGE
else if misc.startswith(require('os').hostname(), 'compute')   # my official deploy: TODO -- should be moved to conf file.
    STORAGE = 'storage0-us'
else
    STORAGE = ''
    # TEMPORARY:



#################################################################
#


net         = require('net')
fs          = require('fs')
os          = require('os')

async       = require('async')
winston     = require('winston')
