【发布时间】:2015-10-27 23:28:26
【问题描述】:
我对python和fabric还很陌生,我正在尝试做一个简单的代码,我可以在两个使用sudo的主机上获得输出,尽管我不断收到错误....任何人都可以帮助我我可能会错过什么?
我的代码:
from fabric.api import *
from getpass import getpass
from fabric.decorators import runs_once
env.hosts = ['host1','host2']
env.port = '22'
env.user = 'username'
env.password="password"
def sudo_dsmc(cmd):
sudo("-l")
当我跑步时:fab sudo_dsmc:"-1":
MacBookPRO:PYTHON username$ fab sudo_dsmc:"-l"
[host1] Executing task 'sudo_dsmc'
[host1] sudo: -l
[host1] out: sudo password:
[host1] out: Sorry, user username is not allowed to execute '/bin/bash -l -c - l' as root on host1.
[host1] out:
Fatal error: sudo() received nonzero return code 1 while executing!
Requested: -l
Executed: sudo -S -p 'sudo password:' /bin/bash -l -c "-l"
Aborting.
Disconnecting from host1... done.
虽然我可以使用以下函数运行 apt-get 更新而没有任何错误:
def sudo_command(cmd):
sudo("apt-get update")
# run like: fab sudo_command:"apt-get-update"
【问题讨论】:
标签: python linux bash backup fabric