summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--op-mode-definitions/show-login.xml33
-rwxr-xr-xsrc/op_mode/show_current_user.sh18
2 files changed, 51 insertions, 0 deletions
diff --git a/op-mode-definitions/show-login.xml b/op-mode-definitions/show-login.xml
new file mode 100644
index 000000000..6d8c782c4
--- /dev/null
+++ b/op-mode-definitions/show-login.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<interfaceDefinition>
+ <node name="show">
+ <children>
+ <node name="login">
+ <properties>
+ <help>Show current login credentials</help>
+ </properties>
+ <command>${vyos_op_scripts_dir}/show_current_user.sh</command>
+ <children>
+ <leafNode name="groups">
+ <properties>
+ <help>Show current login group information</help>
+ </properties>
+ <command>/usr/bin/id -Gn</command>
+ </leafNode>
+ <leafNode name="level">
+ <properties>
+ <help>Show current login level</help>
+ </properties>
+ <command>if [ -n "$VYATTA_USER_LEVEL_DIR" ]; then basename $VYATTA_USER_LEVEL_DIR; fi</command>
+ </leafNode>
+ <leafNode name="user">
+ <properties>
+ <help>Show current login user id</help>
+ </properties>
+ <command>/usr/bin/id -un</command>
+ </leafNode>
+ </children>
+ </node>
+ </children>
+ </node>
+</interfaceDefinition>
diff --git a/src/op_mode/show_current_user.sh b/src/op_mode/show_current_user.sh
new file mode 100755
index 000000000..93e6efa61
--- /dev/null
+++ b/src/op_mode/show_current_user.sh
@@ -0,0 +1,18 @@
+#! /bin/bash
+
+echo -n "login : " ; who -m
+
+if [ -n "$VYATTA_USER_LEVEL_DIR" ]
+then
+ echo -n "level : "
+ basename $VYATTA_USER_LEVEL_DIR
+fi
+
+echo -n "user : " ; id -un
+echo -n "groups : " ; id -Gn
+
+if id -Z >/dev/null 2>&1
+then
+ echo -n "context : "
+ id -Z
+fi