This may eventually turn into something with more documentation on the new user management features in ORBIT Trac.
The useradmin
account
The useradmin account has permission to do stuff like mkdir /export/home/foo
on repository2. The idea is that automated processes do stuff by logging into it using ssh keypairs. For example, here's a quick test to see if you can do things as useradmin@repostiory2 as www-data on external1:
(Wed Sep 10 14:38:43) (root@external1:~) bash> su - www-data www-data@external1:~$ ssh-add Could not open a connection to your authentication agent. www-data@external1:~$ ssh-agent SSH_AUTH_SOCK=/tmp/ssh-MBTyO32174/agent.32174; export SSH_AUTH_SOCK; SSH_AGENT_PID=32175; export SSH_AGENT_PID; echo Agent pid 32175; www-data@external1:~$ SSH_AUTH_SOCK=/tmp/ssh-MBTyO32174/agent.32174; export SSH_AUTH_SOCK; www-data@external1:~$ SSH_AGENT_PID=32175; export SSH_AGENT_PID; www-data@external1:~$ echo Agent pid 32175; Agent pid 32175 www-data@external1:~$ ssh-add Identity added: /var/www/.ssh/id_rsa (/var/www/.ssh/id_rsa) www-data@external1:~$ ssh useradmin@repository2 sudo mkdir /export/home/corge www-data@external1:~$ ssh useradmin@repository2 sudo rmdir /export/home/corge
The lack of password protection on the private key in ~www-data/.ssh
is a concern, but pretty much the best way to go when www-data is going to be all automated web scripts. Feel free to add more public keys to ~useradmin/.ssh/authorized_keys
.