Prefer su over sudo.

This commit is contained in:
Darko Poljak 2016-04-15 10:50:51 +02:00
parent 856678b09c
commit 5c33d22925

View file

@ -19,27 +19,47 @@
# #
# This explorer returns script code string for running a command with su # This explorer returns script code string for running a command with su
# or sudo, whichever it founds. If searches the command in the order of # or sudo, whichever it founds. If searches the command in the order of
# first sudo and then su if sudo is not found. # first su and then sudo if su is not found.
# If no sudo nor su is found then it returns string script code to run # If no su nor sudo is found then it returns string script code to run
# bare command. # bare command.
# It uses two arguments, first user and the second command to run. # It uses two arguments, first user and the second command to run.
# If the result string is assigned to foo it is used as: # If the result string is assigned to foo it is used as:
# $ $foo user command # $ $foo user command
# #
# first check sudo sudo_func() {
which sudo > /dev/null 2>&1 which sudo > /dev/null 2>&1
if [ $? -eq 0 ] if [ $? -eq 0 ]
then then
func='f() { sudo -H -u $1 $2; }' func='f() { sudo -H -u $1 $2; }'
retval=0
else else
# if no sudo then check su func=''
retval=1
fi
return $retval
}
su_func() {
which su > /dev/null 2>&1 which su > /dev/null 2>&1
if [ $? -eq 0 ] if [ $? -eq 0 ]
then then
func='f() { su -c "$2" $1 ; }' func='f() { su -c "$2" $1 ; }'
retval=0
else else
# if no sudo nor su then run bare command func=''
retval=1
fi
return $retval
}
# first check su
su_func
if [ $? -ne 0 ]
then
# if no su then check sudo
sudo_func
if [ $? -ne 0 ]
then
# if no su nor sudo then run bare command
func='f() { $2 ; }' func='f() { $2 ; }'
fi fi
fi fi