CloudFormation - Пользовательские данные запускаются как пользователь Ubuntu - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть следующие данные пользователя в моем шаблоне CFN:

  UserData:
    'Fn::Base64': 
      !Sub |
        #!/bin/bash
        sudo apt-get update;
        sudo apt-get upgrade -y;
        sudo apt-get -y install python-pip;
        sudo apt-get -y install gcc;
        sudo apt-get -y install gcc-c++;
        sudo apt-get install awscli -y;
        sudo apt-get install python-mysqldb;
        echo "$(pwd)" >> /home/ubuntu/current1.txt

        cd /home/ubuntu/;
        echo "$(pwd)" >> /home/ubuntu/current2.txt
        pip install apache-airflow;
        pip install celery==4.4.0;
        pip install kombu==4.5.0;
        echo "$(pwd)" >> /home/ubuntu/current3.txt
        cd /home/ubuntu/airflow/;
        echo "$(pwd)" >> /home/ubuntu/current4.txt
        mv airflow.cfg airflow.cfg.original_1;
        cd /home/ubuntu/;
        nohup airflow initdb;
        nohup airflow webserver -p 8080 >> webserver.log &;   
        nohup airflow scheduler >> scheduler.log &;
        nohup airflow worker >> worker.log &;

Если я делаю cd /home/ubuntu, а затем, если установить apache -airflow, он все еще устанавливается в root.

Я хочу установить apache -airflow под /home/ubuntu.

Как установить пакеты под /home/ubuntu пользователем?

1 Ответ

0 голосов
/ 13 февраля 2020

Я столкнулся с подобной ситуацией, когда автоматизировал установку Ghost на экземпляр Ubuntu. Вы можете попробовать переключить пользователей. Я должен был проверить это при попытке установить пакет, используя pip. Но вот пример того, как я должен был запускать определенные команды установки c как пользователь, не являющийся root:

su ghost-user << 'EOF'
cd /ghost-app/ghost
ghost install --no-setup --no-stack --dbhost 10.16.11.80 --dbuser ghost --dbpass myterribledbasepassword --dbname ghost_prod
EOF
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...