From 332f9266b2b09e7afec24a31075f8552a6765564 Mon Sep 17 00:00:00 2001 From: hydrajump Date: Wed, 9 Apr 2014 23:26:55 +0200 Subject: Add system option for ctrl-alt-del-action to configuration This new configuration option allows the user to specify what action to take on ctrl-alt-delete: disable, reboot or poweroff. By default ctrl-alt-delete-action is set to disable. The ctrl-alt-delete action is configured in /etc/inittab. --- .../system/options/ctrl-alt-del-action/node.def | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 templates/system/options/ctrl-alt-del-action/node.def (limited to 'templates') diff --git a/templates/system/options/ctrl-alt-del-action/node.def b/templates/system/options/ctrl-alt-del-action/node.def new file mode 100644 index 00000000..d13fe3c5 --- /dev/null +++ b/templates/system/options/ctrl-alt-del-action/node.def @@ -0,0 +1,28 @@ +type: txt + +help: Ctrl-Alt-Delete action + +default: "disable" + +val_help: disable; Disable Ctrl-Alt-Delete +val_help: reboot; Reboot VyOS +val_help: poweroff; Poweroff VyOS + +end: + if [ $VAR(@) == "disable" ]; then + sudo sh -c "sed -i -e 's/^ca.*/ca:12345:ctrlaltdel:/' \ + /etc/inittab" + fi + + if [ $VAR(@) == "reboot" ]; then + sudo sh -c "sed -i -e 's/^ca.*/ca:12345:ctrlaltdel:\/sbin\/reboot/' \ + /etc/inittab" + fi + + if [ $VAR(@) == "poweroff" ]; then + sudo sh -c "sed -i -e 's/^ca.*/ca:12345:ctrlaltdel:\/sbin\/shutdown -h now/' \ + /etc/inittab" + fi + + # Reload /etc/inittab for change to take effect + sudo /sbin/init q -- cgit v1.2.3 From cbfe963979e95829365d2d18c3cd2218109ee707 Mon Sep 17 00:00:00 2001 From: hydrajump Date: Thu, 10 Apr 2014 14:05:21 +0200 Subject: Use elif conditional instead of if --- templates/system/options/ctrl-alt-del-action/node.def | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'templates') diff --git a/templates/system/options/ctrl-alt-del-action/node.def b/templates/system/options/ctrl-alt-del-action/node.def index d13fe3c5..8ee98ce8 100644 --- a/templates/system/options/ctrl-alt-del-action/node.def +++ b/templates/system/options/ctrl-alt-del-action/node.def @@ -12,14 +12,10 @@ end: if [ $VAR(@) == "disable" ]; then sudo sh -c "sed -i -e 's/^ca.*/ca:12345:ctrlaltdel:/' \ /etc/inittab" - fi - - if [ $VAR(@) == "reboot" ]; then + elif [ $VAR(@) == "reboot" ]; then sudo sh -c "sed -i -e 's/^ca.*/ca:12345:ctrlaltdel:\/sbin\/reboot/' \ /etc/inittab" - fi - - if [ $VAR(@) == "poweroff" ]; then + elif [ $VAR(@) == "poweroff" ]; then sudo sh -c "sed -i -e 's/^ca.*/ca:12345:ctrlaltdel:\/sbin\/shutdown -h now/' \ /etc/inittab" fi -- cgit v1.2.3 From 2edb636e0bbdcba17edb1e88db568fc7508eedf5 Mon Sep 17 00:00:00 2001 From: hydrajump Date: Thu, 10 Apr 2014 14:19:10 +0200 Subject: Add syntax check to validate value --- templates/system/options/ctrl-alt-del-action/node.def | 2 ++ 1 file changed, 2 insertions(+) (limited to 'templates') diff --git a/templates/system/options/ctrl-alt-del-action/node.def b/templates/system/options/ctrl-alt-del-action/node.def index 8ee98ce8..8a5ed9d5 100644 --- a/templates/system/options/ctrl-alt-del-action/node.def +++ b/templates/system/options/ctrl-alt-del-action/node.def @@ -8,6 +8,8 @@ val_help: disable; Disable Ctrl-Alt-Delete val_help: reboot; Reboot VyOS val_help: poweroff; Poweroff VyOS +syntax:expression: $VAR(@) in "disable", "reboot", "poweroff"; "Value must be disable, reboot, or poweroff" + end: if [ $VAR(@) == "disable" ]; then sudo sh -c "sed -i -e 's/^ca.*/ca:12345:ctrlaltdel:/' \ -- cgit v1.2.3