我正在通过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'
...