我刚刚看到了libvirt的polkit参考页面,并创建了以下规则
//content of /etc/polkit-1/rules.d/50-libvirt.rules
polkit.addRule(function(action, subject) {
if (action.id == "org.libvirt.api.domain.getattr" &&
subject.user == "dravigon") {
if (action.lookup("connect_driver") == 'QEMU' &&
action.lookup("domain_name") == 'debian8') {
return polkit.Result.YES;
} else {
return polkit.Result.NO;
}
}});
希望限制用户只从qemu/kvm驱动程序访问域debian8。
但这根本没用,有人能说出我哪里出了问题吗?
发布于 2016-10-18 17:54:13
刚在弗多拉波尔基特页上找到了他的答案
我必须添加另一个块,似乎只有第二个块没有第一个块是无用的。
// Allow passwordless connection to qemu:///system
polkit.addRule(function(action, subject) {
if (action.id == "org.libvirt.unix.manage" &&
subject.user == "MY-USER") {
return polkit.Result.YES;
}
});
// Give full access to 'test-day-vm'
polkit.addRule(function(action, subject) {
if (action.id.indexOf("org.libvirt.api.domain.") == 0 &&
subject.user == "MY_USER") {
if (action.lookup("connect_driver") == 'QEMU' &&
action.lookup("domain_name") == 'test-day-vm') {
return polkit.Result.YES;
} else {
return polkit.Result.NO;
}
}
});https://serverfault.com/questions/809378
复制相似问题