From 4994d5f6ebb7d19b81da639d8a66f2a0bf6935e6 Mon Sep 17 00:00:00 2001 From: "Zak B. Elep" Date: Wed, 19 Jul 2017 18:28:22 +0800 Subject: [PATCH 1/2] Set group-executable bit on machine-specific directory and up Ensure that the directories leading to the KVM image have enough permission for libvirt/QEMU to traverse, especially in the case where libvirt/QEMU group is set to to `kvm`/`users`. Fixes #46. --- kvm.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kvm.go b/kvm.go index 1e6c89156e7..5028f5ba7ee 100644 --- a/kvm.go +++ b/kvm.go @@ -370,7 +370,7 @@ func (d *Driver) Create() error { mode := info.Mode() if mode&0001 != 1 { log.Debugf("Setting executable bit set on %s", dir) - mode |= 0001 + mode |= 0011 os.Chmod(dir, mode) } } From cbda4bbd9cbf8c8ce4b28fcc6c1bd192dbefbdd0 Mon Sep 17 00:00:00 2001 From: "Zak B. Elep" Date: Sun, 10 Dec 2017 15:06:55 +0800 Subject: [PATCH 2/2] Ensure we check for desired mode for machine dir We set directory `mode |= 0011` so check first if we're already in that mode for the machine dir. --- kvm.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kvm.go b/kvm.go index 5028f5ba7ee..fdda97a2bcf 100644 --- a/kvm.go +++ b/kvm.go @@ -368,7 +368,7 @@ func (d *Driver) Create() error { return err } mode := info.Mode() - if mode&0001 != 1 { + if mode&0011 != 1 { log.Debugf("Setting executable bit set on %s", dir) mode |= 0011 os.Chmod(dir, mode)