【发布时间】:2011-09-11 22:03:48
【问题描述】:
您知道在 EC2 上,没有与“ubuntu”用户关联的密码。如果我尝试运行以下几行:
fab 开发安装目录
我明白了:
[ec2-46-51-132-252.eu-west-1.compute.amazonaws.com] 须藤:chown -R webadmin:webadmin /var/www [ec2-46-51-132-252.eu-west-1.compute.amazonaws.com] 登录密码:
我尝试将 shell=False 添加到 sudo 方法(根据 Can I prevent fabric from prompting me for a sudo password?),但它没有任何改变
有什么想法吗?非常感谢!
def development():
env.envname = 'development'
env.user = 'ubuntu'
env.group = 'ubuntu'
env.chuser = 'webadmin'
env.chgroup = 'webadmin'
env.hosts = ['ec2-***.eu-west-1.compute.amazonaws.com']
env.envname_abriev = 'dev'
env.key_filename = '/home/xx/.ssh/xx.pem'
env.postgresql_version = '9.0'
def install_dir():
if not exists('/var/www'):
sudo('mkdir /var/www')
sudo('chown -R %s:%s /var/www' % (env.chuser, env.chgroup))
【问题讨论】:
-
如果你像这样使用
run,它会做什么:run('sudo chown -R ...')? -
我也可以通过常规的 run() 得到这个,而不仅仅是 sudo()。将 shell 和 pty 设置为 False 根本没有帮助。
-
原来我的问题是我已经更改了我的 pem 文件密钥并且没有更新 fabfile!现在一切都好。
-
我也有同样的问题。非常令人沮丧。我可以在没有密码的情况下手动登录 shell 和 sudo,但由于某种原因 Fabric 不能。
标签: python amazon-ec2 fabric