Graças a uma dica do @dirkt acima, consegui determinar que vmhgfs-fuse não permite o acesso root, por padrão. Do vmhgfs-fuse --help output:
-o allow_other allow access to other users
-o allow_root allow access to root
A tentativa de -o allow_root falhou inicialmente:
$ vmhgfs-fuse -o allow_root ".host:/$(vmware-hgfsclient)" ~/Shared
fusermount: option allow_other only allowed if 'user_allow_other' is set in /etc/fuse.conf
E, com certeza, /etc/fuse.conf tem user_allow_other comentou:
# Allow non-root users to specify the allow_other or allow_root mount options.
#user_allow_other
Mas a execução de vmhgfs-fuse como root finalmente funcionou:
$ sudo vmhgfs-fuse -o allow_other ".host:/$(vmware-hgfsclient)" ~/Shared
$ sudo mount -t ext3 -o loop,ro ~/Shared/linux-ext3.img /mnt
$ ls /mnt/
...
Observe o uso de allow_other not allow_root . Usar sudo plus -o allow_root é redundante, pois vmhgfs-fuse concede acesso apenas ao usuário que executa o comando. No entanto, sudo sozinho significa apenas root pode acessar ~/Shared , mas não seu usuário comum. Usar sudo plus -o allow_other permite que o root e seu usuário normal (e qualquer outra pessoa) acessem ~/Shared . Pode ser mais seguro, em um ambiente verdadeiramente compartilhado, habilitar user_allow_other em /etc/fuse.conf para que você possa usar -o allow_root e evitar executar vmhgfs-fuse com sudo .
E, para registro, desmontar tudo isso:
$ sudo umount /mnt
$ sudo fusermount -u ~/Shared