#!/bin/sh . /etc/control.d/functions RULES=/lib/udev/rules.d/60-fuse.rules BINARY=/usr/bin/fusermount setup_rule() { new_subst "$1" \ "^[[:space:]]*KERNEL==\"fuse\",[[:space:]]*MODE=\"$2\",[[:space:]]*GROUP=\"$3\",[[:space:]]*ENV{ACL_MANAGE}=\"1\"[[:space:]]*\$" \ "s/^[[:space:]]*KERNEL==\"fuse\",.*\$/KERNEL==\"fuse\", MODE=\"$2\", GROUP=\"$3\", ENV{ACL_MANAGE}=\"1\"/" } setup_rule public 0666 fuse setup_rule fuseonly 0660 fuse setup_rule wheelonly 0660 wheel setup_rule restricted 0600 root new_fmode public 4711 root root new_fmode fuseonly 4710 root fuse new_fmode wheelonly 4710 root wheel new_fmode restricted 700 root root new_help public "Any user can execute $BINARY" new_help fuseonly "Only \"fuse\" group members can execute $BINARY" new_help wheelonly "Only \"wheel\" group members can execute $BINARY" new_help restricted "Only root can execute $BINARY" case "$*" in status|'') STATUS1="`control_fmode "$BINARY" status`" || exit 1 STATUS2="`control_subst "$RULES" status`" || exit 1 [ "$STATUS1" = "$STATUS2" ] || STATUS1='unknown' echo "$STATUS1" ;; *) is_builtin_mode "$*" || { control_subst "$RULES" "$*" || exit 1 udevadm trigger --subsystem-match=misc --sysname-match=fuse || exit 1 } control_fmode "$BINARY" "$*" || exit 1 ;; esac