set trc6500 user to a configuration menu
authorLaurent Mazet <laurent.mazet@thalesgroup.com>
Thu, 18 Dec 2014 11:08:04 +0000 (12:08 +0100)
committerLaurent Mazet <laurent.mazet@thalesgroup.com>
Thu, 18 Dec 2014 11:08:04 +0000 (12:08 +0100)
master/etc/pdmenurc [new file with mode: 0644]
master/etc/sudoers.d/pdmenu [new file with mode: 0644]

diff --git a/master/etc/pdmenurc b/master/etc/pdmenurc
new file mode 100644 (file)
index 0000000..58ed169
--- /dev/null
@@ -0,0 +1,36 @@
+#!/usr/bin/pdmenurc
+
+title:TRC6500
+
+menu:main:Maintainer actions
+
+preproc: \
+       awk -F\; ' \
+       { sub(/#.*/, "") } \
+       $1 == ""  && NF == 5 { \
+           if (submenu) printf "\n"; \
+           submenu = 1; \
+           printf "menu:submenu%d:%s\n", n, $4; \
+           tab[n++] = $4; \
+       } \
+       $1 != "" && ! /^\// && $5 != ":goto:" { \
+           group = 1; \
+           cmd = ""; \
+           for (i = 5; i <= NF; i++) { \
+           if (cmd == "") \
+               cmd = $(i); \
+           else \
+               cmd = cmd ";" $(i); \
+           } \
+           printf "\texec:%s:display:%s\n", $4, cmd; \
+           nb[n - 1]++; \
+       } \
+       END { \
+           printf "\n"; \
+           printf "menu:main:Maintainer actions\n"; \
+           for (i = 0; i < n; i++) \
+               if (nb[i]) \
+                   printf "\tshow:%s::submenu%d\n", tab[i], i; \
+           printf "\texit:E_xit::\n"; \
+       } \
+       ' /etc/webconfig/alias.csv
diff --git a/master/etc/sudoers.d/pdmenu b/master/etc/sudoers.d/pdmenu
new file mode 100644 (file)
index 0000000..56644bf
--- /dev/null
@@ -0,0 +1,7 @@
+# /etc/sudoers.d/pdmenu
+
+pdmenu ALL = (root)NOPASSWD: /opt/trc6500/script/check_network.sh
+pdmenu ALL = (root)NOPASSWD: /sbin/halt
+pdmenu ALL = (root)NOPASSWD: /usr/sbin/service ammwake
+pdmenu ALL = (root)NOPASSWD: /usr/sbin/service ipmiwake
+pdmenu ALL = (root)NOPASSWD: /usr/sbin/service trc6500