44620
aws の runCommand は、ユーザーが root の状態でコマンドを実行します。

ec2-user として実行したい条件があったので、以下の command でもって runShellScript を実行しました。

```

    su ec2-user && whoami
    
```

結果は以下で、 su が正しくできていない様子です。

```

    root
    
```

### 質問

  * amazon linux に対して runCommand をする際に、 ec2-user として実行したいです。これはどうやったら実現できるでしょうか。
CC BY-SA 4.0
2018-06-08T08:01:24.117
44615
2018-06-08T10:02:00.597
754
question
aws
runCommand で ec2-user としてコマンドを実行するには?
[AWS Lambda Python 3.6 - SSM to EC2 - executes commands as root rather than
user](https://stackoverflow.com/q/50647809/3090068) が、おそらく似たような質問だと思っています。
(未解決ですが)

それによると、 [runuser コマンド](https://www.unix.com/man-page/centos/1/runuser/)
だとうまくいくそうです。

試しに以下を実行したところ、`ec2-user` が表示されて、ひとまず自分のやりたいことは達成できました。

```

    /sbin/runuser -l ec2-user -c 'whoami'
    
```
CC BY-SA 4.0
2018-06-08T08:01:24.117
44616
2018-06-08T08:01:24.117
754
44615
answer
su の使い方が違ってますね。  
`su ec2-user -c "whoami"` でうまくいく気がします。
CC BY-SA 4.0
2018-06-08T10:02:00.597
44620
2018-06-08T10:02:00.597
5008
44615
answer