Volttron - 拒绝以root身份运行以防止潜在的损害

时间:2017-07-17 23:54:43

标签: python git error-handling terminal volttron

我在VM上运行Ubuntu Desktop 16.04并尝试使用标准安装说明运行Volttron,但是在执行以下步骤后我仍然收到错误:

sudo apt-get update
sudo apt-get install build-essential python-dev openssl libssl-dev libevent-dev git
git clone https://github.com/VOLTTRON/volttron
cd volttron
python bootstrap.py

我的问题是最后一步python bootstrap.py。一旦我到达此步骤,我就会从终端窗口收到错误bootstrap.py: error: refusing to run as root to prevent potential damage.

还有其他人遇到过这个问题吗?想法?

2 个答案:

答案 0 :(得分:0)

来自this part of bootstrap.py(和this commit

# Refuse to run as root
if not getattr(os, 'getuid', lambda: -1)():
    sys.stderr.write('%s: error: refusing to run as root to prevent '
                     'potential damage.\n' % os.path.basename(argv[0]))
    sys.exit(77)

因此请检查您是否拥有os.getuid(当前流程的真实用户ID),因为getattr提及:

  

如果named属性不存在,则返回default(如果提供),否则引发AttributeError

请参阅“What is difference between os.getuid() and os.geteuid()?” 也许您的终端窗口是以root身份启动的。 (检查id -a)的输出

答案 1 :(得分:0)

我遇到了类似的问题,因为伏特通没有设置虚拟环境的权限所以我输入了这个:

sudo chmod -R 777 /path_of_volttron_location