Linux/Applications/Pdmenu


Pdmenu is a curses menuing system that can be used as a restricted shell for UNIX users.

Boilerplate for my boxes:

# Define the main menu.
menu:main:Machine:[email protected]
        show:_Monitoring::monitoring
        show:_Services::services
        nop
        exit:E_xit

menu:monitoring:Monitor:Local Information
        exec:_Online Users:truncate:echo "These users are online:";w
        exec:_Top::top s
        exec:_Cron Log::clear;sudo tail -f /var/log/cron
        exec:_Mail Log::clear;sudo tail -f /var/log/maillog
        exec:Message _Log::clear;sudo tail -f /var/log/messages
        nop
        exit:E_xit

menu:services:Services:Manage local services
        exec:Restart _DAAP:truncate:sudo  /sbin/service daapd restart
        exec:Restart _SlimServer:truncate:sudo /sbin/service slimserver restart
        exec:Restart S_amba:truncate:sudo /sbin/service smb restart
        exec:Restart _VNC:truncate:sudo /sbin/service vncserver restart
        exec:Restart _Rendezvous:truncate:sudo /sbin/service rendezvous restart
        nop
        exit:E_xit

Boilerplate/etc/sudoers entries:

menu    ALL=NOPASSWD: /usr/bin/tail -f /var/log/messages,\
                      /usr/bin/tail -f /var/log/maillog,\
                      /usr/bin/tail -f /var/log/auth,\
                      /usr/bin/tail -f /var/log/cron,\
                      /sbin/service daapd restart,\
                      /sbin/service slimserver restart,\
                      /sbin/service smb restart,\
                      /sbin/service vncserver restart,\
                      /sbin/service rendezvous restart

See Also: