Eu vou te dar algumas maneiras:
Mas primeiro : remova a linha guest account = samba-guest do smb.conf. Já existe uma conta de convidado configurada por padrão e seu nome é "nobody". Você mesmo pode verificar isso se quiser:
testparm -sv /dev/null | grep "guest account"
** Uma maneira de fazer isso é com uma definição de compartilhamento semelhante a essa:
[Test]
path = /mnt/Test
guest ok = yes
read only = yes
write list = jim
create mask = 0755
Apenas certifique-se de que o teste seja de propriedade de jim:
sudo chown jim /mnt/Test
Ele será lido apenas para todos, menos para o jim. Se seus clientes estiverem executando o Linux ou o macOS, sempre terão a opção de conectar-se como anônimo / convidado ou com um nome de usuário. Pior caso, você pode usar o Connect-to-Server em qualquer sistema operacional para forçar as credenciais. O Windows é o problema, pois não será solicitado para o que ele vê como um compartilhamento de convidado. Uma maneira de contornar isso é "mapear" a "unidade", que é a coisa mais próxima no Windows para conectar-se ao servidor.
** Outra maneira é forçar um prompt de credenciais para todos (guest ok = no), mas ainda permitir apenas uma gravação por jim:
[Test]
path = /mnt/Test
guest ok = no
read only = yes
write list = jim
create mask = 0755
Aqui, o usuário convidado enviaria o usuário samba-guest com sua senha do samba.
** E lembre-se de adicionar esse (s) usuário (s) ao banco de dados de senhas do samba:
sudo smbpasswd -a jim
sudo smbpasswd -a samba-guest