mirror of https://github.com/apache/cloudstack.git
fix /root/.ssh directory creation for KVM
Since /root is r-x permissions, Java fails to mkdir /root/.ssh (even though the agent is running as root) because it looks for the writable permission. This patch modifies the 'chmod 700 /root/.ssh' shell command that we already use into 'mkdir -m 700 /root/.ssh', to be able to create the directory as root even though write permissions are not set on /root. This seemed cleaner/safer than adding writable to /root. Signed-off-by: Edison Su <sudison@gmail.com>
This commit is contained in:
parent
a95a9dc07c
commit
38a885776c
|
|
@ -2628,11 +2628,15 @@ public class LibvirtComputingResource extends ServerResourceBase implements
|
|||
File sshKeysDir = new File(_SSHKEYSPATH);
|
||||
String result = null;
|
||||
if (!sshKeysDir.exists()) {
|
||||
sshKeysDir.mkdir();
|
||||
// Change permissions for the 700
|
||||
Script script = new Script("chmod", _timeout, s_logger);
|
||||
script.add("700", _SSHKEYSPATH);
|
||||
Script script = new Script("mkdir", _timeout, s_logger);
|
||||
script.add("-m","700");
|
||||
script.add(_SSHKEYSPATH);
|
||||
script.execute();
|
||||
|
||||
if(!sshKeysDir.exists()) {
|
||||
s_logger.debug("failed to create directory " + _SSHKEYSPATH);
|
||||
}
|
||||
}
|
||||
|
||||
File pubKeyFile = new File(_SSHPUBKEYPATH);
|
||||
|
|
|
|||
Loading…
Reference in New Issue