Como afirmado em um comentário de @DanielJ, você pode verificar se é um arquivo ou pasta, por exemplo, executando cd /mnt/public/ e vendo se você acessa um diretório ou não.
Em seguida, verifique as permissões do arquivo, executando ls -lah /mnt/ . Se você puder postar essa saída, podemos determinar se o Samba seria capaz de trabalhar essa pasta ou não. (Edite sua pergunta para mostrar a saída)
Estranhamente, você tem um usuário chamado public ? Verifique no seu arquivo tdbsam (execute pdbedit -L public ) e /etc/passwd (execute grep public /etc/passwd ). Se o usuário existir, ele poderá tentar encontrar uma pasta base para esse usuário antes de verificar as outras defintões de compartilhamento.
Além disso, ao trabalhar com o Samba, acostume-se a executar testparm e testparm -s . O primeiro verifica a sintaxe de todos os comandos e compartilha definições, enquanto o segundo mostra que e descarta a configuração atual que está sendo usada.