- Add absolute & relative command path support,
- Add spaces support in Application Dir & Command.
This commit is contained in:
@@ -1,23 +1,24 @@
|
||||
#!/bin/bash
|
||||
|
||||
for arg in User_Id User_Name Home_Dir Group_Id Group_Name
|
||||
for arg in User_Id User_Name Home_Dir Group_Id Group_Name Appl_Dir
|
||||
do
|
||||
declare "$arg"=$1
|
||||
shift
|
||||
done
|
||||
|
||||
Cmd=$( printf " %q" "$@" | sed -e 's/^ //' -e 's/\\;/;/g')
|
||||
|
||||
|
||||
echo "User Add & Exec: User_Id: (${User_Id}) User_Name: [${User_Name}] Home_Dir: [${Home_Dir}] Group_Id: (${Group_Id}) Group_Name: [${Group_Name}]"
|
||||
echo -n " Display: [${DISPLAY}] Cmd: [$1]"
|
||||
echo "User Add & Exec: User_Id: (${User_Id}) User_Name: [${User_Name}] Home_Dir: [${Home_Dir}] Group_Id: (${Group_Id}) Group_Name: [${Group_Name}] Appl_Dir: [${Appl_Dir}]"
|
||||
echo -n " Display: [${DISPLAY}] Cmd: [${Cmd}]"
|
||||
|
||||
i=2
|
||||
#i=2
|
||||
|
||||
while [[ $i -le $# ]]
|
||||
do
|
||||
echo -n " [${!i}]"
|
||||
i=$(($i + 1))
|
||||
done
|
||||
#while [[ $i -le $# ]]
|
||||
#do
|
||||
# echo -n " [${!i}]"
|
||||
# i=$(($i + 1))
|
||||
#done
|
||||
|
||||
echo ""
|
||||
echo ""
|
||||
@@ -46,8 +47,9 @@ chown ${User_Name}:${Group_Name} /run/user/${User_Id}
|
||||
|
||||
|
||||
echo "Exec Cmd..."
|
||||
|
||||
#echo "su - -P ${User_Name} -c \"$*\""
|
||||
|
||||
su - -P ${User_Name} -c "$*"
|
||||
su - -P ${User_Name} -c "cd \"${Appl_Dir}\"; ${Cmd}"
|
||||
|
||||
echo "Completed!"
|
||||
|
||||
Reference in New Issue
Block a user