X-Git-Url: https://git.josue.xyz/?p=webi-installers%2F.git;a=blobdiff_plain;f=setcap-netbind%2Fsetcap-netbind.sh;h=97620b5d541c9f3446502b1dc4f297e4cda30a59;hp=08f1fea56df743dca26ac95f542b93ea566f3f2b;hb=85a5689dbb79c3c0bead61586c294cfd1585a1d1;hpb=46af5a3ca3b22ed8716b6a97e06cc6fbcba1d9c3 diff --git a/setcap-netbind/setcap-netbind.sh b/setcap-netbind/setcap-netbind.sh index 08f1fea..97620b5 100644 --- a/setcap-netbind/setcap-netbind.sh +++ b/setcap-netbind/setcap-netbind.sh @@ -1,17 +1,26 @@ #!/bin/bash +set -e +set -u -{ - set -e - set -u +my_bin="${1}" +# ex: node +if [ -z "$(command -v "${my_bin}")" ]; then + echo "setcap-netbind: '${my_bin}' not found" + exit 1 +fi - my_bin="$1" - if [ -z "$(which $my_bin)" ]; then - echo "'$my_bin' not found" - exit 1 - fi - my_sudo="" - if [ -n "$(command -v sudo)" ]; then - my_sudo=sudo - fi - $my_sudo setcap 'cap_net_bind_service=+ep' $(readlink -f $(which $my_bin)) -} +my_sudo="" +if [ -n "$(command -v sudo)" ]; then + my_sudo=sudo +fi + +# get full path +# ex: ~/.local/opt/node/bin/node +my_bin="$(command -v "${my_bin}")" + +# get canonical full path +# ex: ~/.local/opt/node-v16.13.0/bin/node +my_bin="$(readlink -f "${my_bin}")" + +# ex: sudo setcap 'cap_net_bind_service=+ep' ~/.local/opt/node-v16.13.0/bin/node" +"${my_sudo}" setcap 'cap_net_bind_service=+ep' "${my_bin}"