mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-26 03:21:44 +03:00
Add configuration option to turn off dynamic permissions management
Add the ability to turn off dynamic management of file permissions for libvirt guests. * qemu/libvirtd_qemu.aug: Support 'dynamic_ownership' flag * qemu/qemu.conf: Document 'dynamic_ownership' flag. * qemu/qemu_conf.c: Load 'dynamic_ownership' flag * qemu/test_libvirtd_qemu.aug: Test 'dynamic_ownership' flag
This commit is contained in:
parent
2df1657686
commit
5b6782f941
@ -32,6 +32,7 @@ module Libvirtd_qemu =
|
|||||||
| str_entry "security_driver"
|
| str_entry "security_driver"
|
||||||
| str_entry "user"
|
| str_entry "user"
|
||||||
| str_entry "group"
|
| str_entry "group"
|
||||||
|
| bool_entry "dynamic_ownership"
|
||||||
| str_array_entry "cgroup_controllers"
|
| str_array_entry "cgroup_controllers"
|
||||||
| str_array_entry "cgroup_device_acl"
|
| str_array_entry "cgroup_device_acl"
|
||||||
| str_entry "save_image_format"
|
| str_entry "save_image_format"
|
||||||
|
@ -96,6 +96,11 @@
|
|||||||
# The group ID for QEMU processes run by the system instance
|
# The group ID for QEMU processes run by the system instance
|
||||||
#group = "root"
|
#group = "root"
|
||||||
|
|
||||||
|
# Whether libvirt should dynamically change file ownership
|
||||||
|
# to match the configured user/group above. Defaults to 1.
|
||||||
|
# Set to 0 to disable file ownership changes.
|
||||||
|
#dynamic_ownership = 1
|
||||||
|
|
||||||
|
|
||||||
# What cgroup controllers to make use of with QEMU guests
|
# What cgroup controllers to make use of with QEMU guests
|
||||||
#
|
#
|
||||||
|
@ -102,7 +102,9 @@ int qemudLoadDriverConfig(struct qemud_driver *driver,
|
|||||||
char *group;
|
char *group;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
/* Setup 2 critical defaults */
|
/* Setup critical defaults */
|
||||||
|
driver->dynamicOwnership = 1;
|
||||||
|
|
||||||
if (!(driver->vncListen = strdup("127.0.0.1"))) {
|
if (!(driver->vncListen = strdup("127.0.0.1"))) {
|
||||||
virReportOOMError(NULL);
|
virReportOOMError(NULL);
|
||||||
return -1;
|
return -1;
|
||||||
@ -224,6 +226,7 @@ int qemudLoadDriverConfig(struct qemud_driver *driver,
|
|||||||
}
|
}
|
||||||
VIR_FREE(user);
|
VIR_FREE(user);
|
||||||
|
|
||||||
|
|
||||||
p = virConfGetValue (conf, "group");
|
p = virConfGetValue (conf, "group");
|
||||||
CHECK_TYPE ("group", VIR_CONF_STRING);
|
CHECK_TYPE ("group", VIR_CONF_STRING);
|
||||||
if (!(group = strdup(p && p->str ? p->str : QEMU_GROUP))) {
|
if (!(group = strdup(p && p->str ? p->str : QEMU_GROUP))) {
|
||||||
@ -231,8 +234,6 @@ int qemudLoadDriverConfig(struct qemud_driver *driver,
|
|||||||
virConfFree(conf);
|
virConfFree(conf);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (virGetGroupID(NULL, group, &driver->group) < 0) {
|
if (virGetGroupID(NULL, group, &driver->group) < 0) {
|
||||||
VIR_FREE(group);
|
VIR_FREE(group);
|
||||||
virConfFree(conf);
|
virConfFree(conf);
|
||||||
@ -240,6 +241,12 @@ int qemudLoadDriverConfig(struct qemud_driver *driver,
|
|||||||
}
|
}
|
||||||
VIR_FREE(group);
|
VIR_FREE(group);
|
||||||
|
|
||||||
|
|
||||||
|
p = virConfGetValue (conf, "dynamic_ownership");
|
||||||
|
CHECK_TYPE ("dynamic_ownership", VIR_CONF_LONG);
|
||||||
|
if (p) driver->dynamicOwnership = p->l;
|
||||||
|
|
||||||
|
|
||||||
p = virConfGetValue (conf, "cgroup_controllers");
|
p = virConfGetValue (conf, "cgroup_controllers");
|
||||||
CHECK_TYPE ("cgroup_controllers", VIR_CONF_LIST);
|
CHECK_TYPE ("cgroup_controllers", VIR_CONF_LIST);
|
||||||
if (p) {
|
if (p) {
|
||||||
|
@ -86,6 +86,8 @@ user = \"root\"
|
|||||||
|
|
||||||
group = \"root\"
|
group = \"root\"
|
||||||
|
|
||||||
|
dynamic_ownership = 1
|
||||||
|
|
||||||
cgroup_controllers = [ \"cpu\", \"devices\" ]
|
cgroup_controllers = [ \"cpu\", \"devices\" ]
|
||||||
|
|
||||||
cgroup_device_acl = [ \"/dev/null\", \"/dev/full\", \"/dev/zero\" ]
|
cgroup_device_acl = [ \"/dev/null\", \"/dev/full\", \"/dev/zero\" ]
|
||||||
@ -184,6 +186,8 @@ relaxed_acs_check = 1
|
|||||||
{ "#empty" }
|
{ "#empty" }
|
||||||
{ "group" = "root" }
|
{ "group" = "root" }
|
||||||
{ "#empty" }
|
{ "#empty" }
|
||||||
|
{ "dynamic_ownership" = "1" }
|
||||||
|
{ "#empty" }
|
||||||
{ "cgroup_controllers"
|
{ "cgroup_controllers"
|
||||||
{ "1" = "cpu" }
|
{ "1" = "cpu" }
|
||||||
{ "2" = "devices" }
|
{ "2" = "devices" }
|
||||||
|
Loading…
Reference in New Issue
Block a user