2

问题

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

0 回答 0