Ok, deixe-me esclarecer: você não "montou o fusível", usou o programa de exemplo fusexmp , que é um programa de fusível muito simples que apenas transmite todas as operações para as chamadas de biblioteca padrão do Linux. Este é apenas um programa de exemplo, e um muito chato.
Você não disse como o usuário fez essa operação de montagem, mas suponho que você fez isso como root (porque senão allow_other não teria funcionado e não teria criado testfile com dono root ). Note que você pode, em princípio, montar sistemas de arquivos FUSE como qualquer usuário.
Portanto, quando o usuário test executou touch , primeiro ele abriu o arquivo no sistema de arquivos montado por fusível. Como você usou default_permissions , o sistema verificou se o usuário test tem permissão para criar arquivos nesse diretório específico (o que aparentemente foi bem-sucedido) e, em seguida, deixar fusexmp criar o arquivo. Como fusexmp é executado como root , esse arquivo foi criado como root .
Em seguida, touch queria definir a data. Como você usou default_permissions , o sistema verificou se o usuário test tem permissão para definir a data nesse arquivo específico. Esse não é o caso, portanto o sistema foi abortado com um erro de permissão, não importando se o programa fusexmp realmente seria capaz de definir a data (o que seria, executando como root).
default_permissions , então também deve certificar-se de que seu programa de espaço do usuário crie arquivos com o proprietário correto, etc. (que fusexmp não possui).
Se você quiser entender os sistemas de arquivos de fusíveis do ponto de vista do usuário, sugiro que experimente exemplos reais, como sshfs . Ou escreva o seu próprio programa de fusíveis e manuseie permissões, etc., você mesmo.