From 537c29c2fa43651582efdd42c02d6f34de2f5ecf Mon Sep 17 00:00:00 2001 From: Marcus Sorensen Date: Wed, 12 Sep 2012 15:48:33 -0700 Subject: [PATCH] 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 --- .../hypervisor/kvm/resource/LibvirtComputingResource.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java index ff2b9502c51..ad2b07b24ad 100755 --- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java +++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java @@ -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(); }