AWS Lambda Python 3.6 - SSM to EC2 - выполняет команды как пользователь root, а не как пользователь

проблема

Я выполняю команды на экземпляре 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'
...

0 ответов

Другие вопросы по тегам