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-status | 19 +++++++++++++------ kvmx-supervise | 27 ++++++++++++++++++++------- 2 files changed, 33 insertions(+), 13 deletions(-) diff --git a/kvmx-status b/kvmx-status index eabfed7..6a90997 100755 --- a/kvmx-status +++ b/kvmx-status @@ -18,10 +18,17 @@ # along with this program. If not, see . # -# Get instances -instances="`kvmx list`" +# Parameters +DIRNAME="`dirname $0`" -# Kill old instances -for vm in $instances; do - kvmx status $vm -done +# Dispatch to kvmx-supervise +$DIRNAME/kvmx-supervise status + +# Old implementation +## Get instances +#instances="`kvmx list`" +# +## Kill old instances +#for vm in $instances; do +# kvmx status $vm +#done 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