diff options
Diffstat (limited to 'util/mount.fuse')
-rw-r--r-- | util/mount.fuse | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/util/mount.fuse b/util/mount.fuse index 0b111db..2a74449 100644 --- a/util/mount.fuse +++ b/util/mount.fuse @@ -45,8 +45,14 @@ MOUNTPOINT="$2" shift shift -ignore_opts='\(user\|nouser\|users\|auto\|noauto\|_netdev\)' +eval `echo $@ | sed -n "s/\([^,]*,\)*setuid=\([^,]*\).*/SETUID=\2/p"` + +ignore_opts='\(user\|nouser\|users\|auto\|noauto\|_netdev\|setuid=[^,]*\)' OPTIONS=`echo $@ | sed "s/,${ignore_opts}\|${ignore_opts},//g"` -${FSTYPE} ${MOUNTPATH} ${MOUNTPOINT} ${OPTIONS} +if test -z "$SETUID"; then + ${FSTYPE} ${MOUNTPATH} ${MOUNTPOINT} ${OPTIONS} +else + su - "$SETUID" -c "${FSTYPE} ${MOUNTPATH} ${MOUNTPOINT} ${OPTIONS}" +fi |