'Can I run cloud init as a different user than root?

I am trying to run cloud init as a different user than root, because of permissions problem when using git. Is there such a way?



Solution 1:[1]

permissions problem when using git

If trying to run a git command in the runcmd module you could use su to select which user to run the command as.

Consider:

root# su <target user> -c "whoami"
<target user>

I haven't tested it, but something like this in your cloud-config might work:

runcmd:
 - [su, myuser, -c, "git clone <repo> <directory>"]

Solution 2:[2]

To execute a command with non-root user with cloud init, you can do this:

runcmd:
  - su -c 'whoami' - myuser

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Brett Holman
Solution 2 ethicnology