Files
watchman/watchman-runas.bash
Sergey Fedosov 9177854a27 Initial commit.
2016-09-03 22:35:07 +03:00

46 lines
604 B
Bash

#!@BASH_PATH@
watchman_version='@VERSION@'
err() { printf '%s\n' "$1" >&2; }
runas::main() {
local job_username
while [[ "$1" ]]; do
case "$1" in
(-u) job_username="$2"; shift;;
(-h) runas::usage;;
(-v)
printf '%s\n' "$watchman_version"
exit 0
;;
(-*)
err "Unknown option: $1"
runas::usage
return 1
;;
(*) break;;
esac
shift
done
[[ "$UID" -eq 0 ]] || {
err "Only root is allowed to runas!"
return 1
}
(( $# )) || {
err "No command supplied"
runas::usage
return 1
}
exec su "$job_username" -s "$BASH" -c "$*"
}
runas::main "$@"