summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--op-mode-definitions/configure.xml9
-rwxr-xr-xsrc/op_mode/enter_config_mode.sh18
2 files changed, 27 insertions, 0 deletions
diff --git a/op-mode-definitions/configure.xml b/op-mode-definitions/configure.xml
new file mode 100644
index 000000000..dc534d586
--- /dev/null
+++ b/op-mode-definitions/configure.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="configure">
+ <properties>
+ <help>Enter configure mode</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/enter_config_mode.sh</command>
+ </node>
+</interfaceDefinition>
diff --git a/src/op_mode/enter_config_mode.sh b/src/op_mode/enter_config_mode.sh
new file mode 100755
index 000000000..082800ce4
--- /dev/null
+++ b/src/op_mode/enter_config_mode.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+if [ `id -u` == 0 ]; then
+ echo "You are attempting to enter configuration mode as root."
+ echo "It may have unintended consequences and render your system"
+ echo "unusable until restart."
+ echo "Please do it as an administrator level VyOS user instead."
+else
+ if grep -q -e '^overlay.*/filesystem.squashfs' /proc/mounts; then
+ echo "WARNING: You are currently configuring a live-ISO environment, changes will not persist until installed"
+ fi
+ history -w
+ export _OFR_CONFIGURE=ok
+ newgrp vyattacfg
+ unset _OFR_CONFIGURE
+ _vyatta_op_do_key_bindings
+ history -r
+fi