Autosudo
[16.Jul 09:49:14] — [~][autosudo] — me@machine: % sudo less /var/log/splunk/ticket.log [..]
+++ autosudo: added “less” to auto sudo commands +++
[16.Jul 09:50:32] — [~][autosudo+1] — me@machine: % less /var/log/splunk/ticket.log
[16.Jul 09:50:50] — [~][autosudo+1] — me@machine: % autosudo sh +++ auto sudo enabled for: less +++
[16.Jul 09:50:52] — [~][autosudo+1] — me@machine: % autosudo dis +++ disabling auto sudo commands +++ disabling less
[16.Jul 09:50:58] — [~] — me@machine: % less /var/log/splunk/ticket.log /var/log/splunk/ticket.log: Permission denied
sudoexec () {
# determine sudo cmd and if successfull, alias it away
if test -n “$AUTOSUDO”; then
if $SUDOCMD $; then
cmd=echo "$*" | awk '{ print $1}'
if echo “$cmd” | egrep -v “^-” > /dev/null 2>&1; then
lambda="/tmp/.lambda.bash.$$"
cmd=basename $cmd
cat <<EOF > $lambda
unalias $cmd
function $cmd () {
$SUDOCMD $cmd $
}
EOF
export LAMBDA=$lambda
AUTOSUDOCMDS="$AUTOSUDOCMDS $cmd"
echo
echo “+++ autosudo: added "$cmd" to auto sudo commands +++”
echo
fi
fi
fi
}
cleanlambda() { if test -n “$LAMBDA”; then rm -f $LAMBDA LAMBDA="" unset LAMBDA fi } PROMPT_COMMAND=“if test -n "$LAMBDA"; then source $LAMBDA; cleanlambda; fi; PS1=’[\033]0;\u@$host:\w\007] $(DATE) — [\w]$(SHAUTOSUDO)$(JOBS) — \u@$host: $CURSOR ‘”