Skip to content

Instantly share code, notes, and snippets.

@skupjoe
Forked from nickolay-kofanov/umbrellactl
Created September 26, 2022 04:34
Show Gist options
  • Save skupjoe/45ac8311dab1f7fc692da734de215af7 to your computer and use it in GitHub Desktop.
Save skupjoe/45ac8311dab1f7fc692da734de215af7 to your computer and use it in GitHub Desktop.
umbrellactl: Bash script to check status, enable or disable Cisco Umbrella Roaming Security Module for AnyConnect on MacOS
#!/usr/bin/env bash
PLUGIN_BASE='/opt/cisco/anyconnect/bin/plugins'
read -r -d '' USAGE << EGASU
Usage: `basename $0` [-s|-e|-d|-h]
-s, --status Print Umbrella Roaming Security module status
-e, --enable Enable Umbrella Roaming Security module
-d, --disable Disable Umbrella Roaming Security module
-h, --help Show this message.
EGASU
# Check plugin status, return 0 if enabled, 1 if disabled
function check_status {
[[ -f $PLUGIN_BASE/libacumbrellaapi.dylib ]] &&
[[ -f $PLUGIN_BASE/libacumbrellactrl.dylib ]] &&
[[ -f $PLUGIN_BASE/libacumbrellaplugin.dylib ]]
}
# Check if plugin disabled by utility, return 0 if yes, 1 if no
function verify_plugin_disabled {
[[ -f $PLUGIN_BASE/disabled/libacumbrellaapi.dylib ]] &&
[[ -f $PLUGIN_BASE/disabled/libacumbrellactrl.dylib ]] &&
[[ -f $PLUGIN_BASE/disabled/libacumbrellaplugin.dylib ]]
}
# Disable plugin
function disable_plugin {
sudo mkdir -p $PLUGIN_BASE/disabled
sudo mv -f $PLUGIN_BASE/libacumbrellaapi.dylib $PLUGIN_BASE/libacumbrellactrl.dylib $PLUGIN_BASE/libacumbrellaplugin.dylib $PLUGIN_BASE/disabled
}
# Enable plugin
function enable_plugin {
sudo mv -f $PLUGIN_BASE/disabled/libacumbrellaapi.dylib $PLUGIN_BASE/disabled/libacumbrellactrl.dylib $PLUGIN_BASE/disabled/libacumbrellaplugin.dylib $PLUGIN_BASE/
}
case "$1" in
'-s'|'--status')
check_status &&
echo Umbrella Roaming Security Module for AnyConnect is ENABLED. ||
echo Umbrella Roaming Security Module for AnyConnect is DISABLED.
exit 0
;;
'-e'|'--enable')
verify_plugin_disabled &&
enable_plugin &&
echo Umbrella Roaming Security Module for AnyConnect has been ENABLED. &&
exit 0 ||
echo ERROR: Umbrella Roaming Security Module for AnyConnect can only be enabled if it has previously been disabled by this utility.
exit 1
;;
'-d'|'--disable')
check_status &&
disable_plugin &&
echo Umbrella Roaming Security Module for AnyConnect has been DISABLED. ||
echo ERROR: Umbrella Roaming Security Module for AnyConnect does not appear to be enabled.
exit 1
;;
'-h'|'--help')
echo "$USAGE"
exit 0
;;
*)
echo "$USAGE"
exit 1
;;
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment