From 0171ddb9708968a25bc4d9dee0427ad24dcc78ff Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Sun, 28 Jan 2018 10:50:23 -0200 Subject: Make kvmx-supervise work for regular users --- kvmx-supervise | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) (limited to 'kvmx-supervise') diff --git a/kvmx-supervise b/kvmx-supervise index 72c2cdc..aa0002a 100755 --- a/kvmx-supervise +++ b/kvmx-supervise @@ -33,10 +33,13 @@ VERSION="`$APP_BASE/kvmx version`" # Initialize function __kvmx_supervise_initialize { - if [ "`whoami`" != "root" ]; then - echo "$BASENAME: needs root privileges" - exit 1 - fi + #if [ "`whoami`" != "root" ]; then + # echo "$BASENAME: needs root privileges" + # exit 1 + #fi + + # Put startup code here + true } # Display usage @@ -83,13 +86,23 @@ function kvmx_supervise_call { exit 1 fi - # Operate only with VMs configured with supervise_manage=1 + # When running as root, operate only with VMs configured with supervise_manage=1 # Specify /bin/bash to avoid restricted shells like kvmx-shell - supervise_manage="`su $user -s /bin/bash -c "kvmx config $vm supervise_manage"`" + if [ "`whoami`" == "root" ]; then + supervise_manage="`su $user -s /bin/bash -c "kvmx config $vm supervise_manage"`" + else + supervise_manage="1" + fi # Dispatch if [ "$supervise_manage" == "1" ]; then - su $user -s /bin/bash -c "kvmx ${params[0]} $vm ${params[@]:1}" + if [ "`whoami`" == "root" ]; then + su $user -s /bin/bash -c "kvmx ${params[0]} $vm ${params[@]:1}" + else + if [ "`whoami`" == "$user" ]; then + kvmx ${params[0]} $vm ${params[@]:1} + fi + fi fi } -- cgit v1.2.3