AWS Lambda Python 3.6 - SSM to EC2 - выполняет команды как пользователь root, а не как пользователь - PullRequest
0 голосов
/ 01 июня 2018

Проблема

Я выполняю команды на экземпляре Centos 7 EC2 через SSM в Lambda (Python 3.6).К сожалению, SSM выполняет команды от имени пользователя root.Мне нужно, чтобы команды были выполнены с пользователем Centos по умолчанию.Есть ли способ изменить пользователя, используемого SSM.send_command, поэтому мне не нужно делать это:

/sbin/runuser -l centos -c <my_command>

Мой обходной путь

Мне это не нравится,но это работает.Это также портит права на созданные каталоги и файлы, что вынуждает меня также изменять их.(игнорируйте изменение разрешения 777, так как я только что тестировал, чтобы убедиться, что оно работает)

...
/sbin/runuser -l centos -c 'sudo mkdir /home/centos/mydir'
/sbin/runuser -l centos -c 'sudo chmod 777 -R /home/centos/mydir'
/sbin/runuser -l centos -c 'aws s3 cp s3://<my_s3_file_to_transfer /home/centos/mydir'
...
...