aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2018-01-28 10:50:23 -0200
committerSilvio Rhatto <rhatto@riseup.net>2018-01-28 10:50:23 -0200
commit0171ddb9708968a25bc4d9dee0427ad24dcc78ff (patch)
tree7cbd66681ff99a208d99859d90bed4a4618c975a
parent9903bf0df5dcda03ed1505bef247e84cc4a17ec4 (diff)
downloadkvmx-0171ddb9708968a25bc4d9dee0427ad24dcc78ff.tar.gz
kvmx-0171ddb9708968a25bc4d9dee0427ad24dcc78ff.tar.bz2
Make kvmx-supervise work for regular users
-rwxr-xr-xkvmx-status19
-rwxr-xr-xkvmx-supervise27
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 <http://www.gnu.org/licenses/>.
#
-# 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
}