Permissions fix for agent creating /root/.ssh

/root/.ssh is created with perms '600' if it doesn't already exist. This causes
a problem in that it can't write out id_rsa.cloud:

2012-08-27 16:35:40,227 DEBUG [cloud.agent.Agent] (agentRequest-Handler-4:null)
Processing command: com.cloud.agent.api.ModifySshKeysCommand
2012-08-27 16:35:40,228 DEBUG [kvm.resource.LibvirtComputingResource]
(agentRequest-Handler-4:null) Failed to create file: java.io.IOException:
Permission denied

Doing 'chmod u+x /root/.ssh' fixed the above, so it seems that even though the
agent is running as root it cares about being able to chdir into /root.ssh

Signed-off-by: Sheng Yang <sheng.yang@citrix.com>
This commit is contained in:
Marcus Sorensen 2012-09-12 15:48:33 -07:00 committed by Sheng Yang
parent fe8a2992a2
commit 537c29c2fa

View File

@ -2620,9 +2620,9 @@ public class LibvirtComputingResource extends ServerResourceBase implements
String result = null;
if (!sshKeysDir.exists()) {
sshKeysDir.mkdir();
// Change permissions for the 600
// Change permissions for the 700
Script script = new Script("chmod", _timeout, s_logger);
script.add("600", _SSHKEYSPATH);
script.add("700", _SSHKEYSPATH);
script.execute();
}