AWS Lambda Python 3.6 - SSM到EC2 - 以root用户而不是用户身份执行命令

时间:2018-06-01 16:43:14

标签: aws-lambda aws-cli aws-ssm amazon-systems-manager

问题

我正在通过Lambda(Python 3.6)中的SSM在Centos 7 EC2实例上执行命令。不幸的是,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 个答案:

没有答案