加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python Fabric和Amazon EC2:Sudo密码问

发布时间:2020-12-16 22:17:12 所属栏目:Python 来源:网络整理
导读:您知道在EC2上,没有与“ubuntu”用户关联的密码.如果我尝试运行以下几行: fab development install_dir 我明白了: [ec2-46-51-132-252.eu-west-1.compute.amazonaws.com] sudo:chown -R webadmin:webadmin / var / www [ec2-46-51-132-252.eu-west-1.com

您知道在EC2上,没有与“ubuntu”用户关联的密码.如果我尝试运行以下几行:

fab development install_dir

我明白了:

[ec2-46-51-132-252.eu-west-1.compute.amazonaws.com] sudo: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))
最佳答案
从aws下载(或创建)密钥对文件,如下所示

创建一个名为fabfile.py的文件
并设置其内容如下:

from fabric.context_managers import cd
from fabric.operations import sudo
from fabric.api import run,env
import os

HOME = os.getenv('HOME')

env.user = 'ubuntu'
env.hosts = ['PUBLICDNS.ap-southeast-1.compute.amazonaws.com','ANOTHERSERVER.compute.amazonaws.com'] #can add multiple instances
env.key_filename = [
'%s/

要运行该文件,请在终端中键入fab update.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读