forked from ungleich-public/cdist
Prefer su over sudo.
This commit is contained in:
parent
856678b09c
commit
5c33d22925
1 changed files with 30 additions and 10 deletions
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue