X-Git-Url: https://git.josue.xyz/?a=blobdiff_plain;f=setcap-netbind%2Fsetcap-netbind.sh;h=97620b5d541c9f3446502b1dc4f297e4cda30a59;hb=91512157ab426c87e0a82b594620e90e324b23a3;hp=08f1fea56df743dca26ac95f542b93ea566f3f2b;hpb=46af5a3ca3b22ed8716b6a97e06cc6fbcba1d9c3;p=webi-installers%2F.git 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}"