Eu gostaria de instruções para criar um compartilhamento do Samba que só pode ser acessado por um usuário específico do Windows 10 sem a necessidade de senha.
Eu li alguns tutoriais e, embora eu possa criar facilmente um compartilhamento que qualquer pessoa possa acessar, não consegui criar um que apenas o usuário específico possa acessar. Eu posso ver o diretório em questão, mas se eu tentar abri-lo, recebo um erro de acesso negado e o Windows File Explorer solicita um nome de usuário e senha.
Eu criei um usuário Linux com o que eu acredito ser o nome de usuário no PC com Windows e a mesma senha que o usuário do Windows. Se eu digitar as credenciais deste usuário do Linux que criei no prompt mencionado acima, receberei o acesso. Tudo o que posso pensar neste momento é que o nome de usuário da conta do Linux não é o mesmo que a conta correspondente do Windows.
Aqui está o que eu tenho no smb.conf
encrypt passwords = yes
security = user
[Email Backup]
comment = email backup folder
path = /home/samba/emailbackup
guest ok = yes
read only = no
browseable = yes
valid users = xavie emailer +emailbackup
xavie
é o nome da conta do Linux que deve corresponder à conta do Windows, emailer
é outra conta do Linux que precisa de acesso ao diretório e emailbackup
é um grupo em que as duas contas são membros do. A conta do Windows é uma conta da Microsoft (ou seja, não é uma conta local; vinculada a um endereço de e-mail @ Outlook.com), se isso mudar alguma coisa.
Se este problema é causado pelo nome de usuário errado, alguém pode me avisar sobre como eu posso encontrar o nome de usuário que precisa ser atribuído à conta do Linux (por exemplo, existe um arquivo de log para ver o que o usuário tentou para obter acesso ao compartilhamento Samba)? Caso contrário, há mais alguma coisa que eu possa verificar que possa ser a causa deste problema?
EDITAR:
Eu fiz algumas pesquisas na internet e fiz algum progresso. Depois de examinar os arquivos de log do Samba, descobri que estava correto ao acreditar que o nome de usuário estava incorreto. De acordo com os arquivos de log, o Windows 10, quando o usuário usa uma conta da Microsoft, identifica o usuário no Samba com o endereço de e-mail usado por essa conta em vez do nome de usuário. Aqui está o log (nível 2) que eu estava vendo:
[2016/08/20 14:15:36.349641, 2] ../source3/param/loadparm.c:2700(lp_do_section)
Processing section "[All Users]"
[2016/08/20 14:15:36.349966, 2] ../source3/param/loadparm.c:2700(lp_do_section)
Processing section "[Email Backup]"
[2016/08/20 14:15:36.350850, 2] ../source3/auth/auth.c:315(auth_check_ntlm_password)
check_ntlm_password: Authentication for user [<snip email address>] -> [<snip email address>] FAILED with error NT_STATUS_NO_SUCH_USER
Adicionei o endereço de e-mail ao arquivo smbuser, associando-o à conta do Linux que criei. Isso funcionou e o log agora diz que eu autentiquei com sucesso, mas agora tenho um novo problema.
O novo problema é que o compartilhamento do Samba não funciona para o meu PC quando conectado à conta que eu observei acima. Basicamente, eu tenho dois compartilhamentos no meu servidor Ubuntu; um compartilhamento público que qualquer pessoa pode acessar e o outro compartilhamento que eu quero acessar apenas para o usuário do Windows 10. Esse usuário do Windows 10, depois que eu fiz as alterações acima, agora não pode mais ver nenhum dos compartilhamentos ou até mesmo acessar o servidor Ubuntu. OTOH, o laptop do meu pai, que não tem uma conta no Samba, pode acessar o servidor e ver os dois compartilhamentos (mas não pode acessar o compartilhamento não público sem autenticação). Aqui está o novo log criado com as alterações nos smbusers:
[2016/08/20 14:36:44.523779, 2] ../source3/param/loadparm.c:2700(lp_do_section)
Processing section "[All Users]"
[2016/08/20 14:36:44.524358, 2] ../source3/param/loadparm.c:2700(lp_do_section)
Processing section "[Email Backup]"
[2016/08/20 14:36:44.552274, 2] ../source3/auth/auth.c:305(auth_check_ntlm_password)
check_ntlm_password: authentication for user [<snip email address>] -> [xavie] -> [xavie] succeeded
[2016/08/20 14:36:44.553509, 1] ../source3/param/loadparm.c:2389(lp_idmap_range)
idmap range not specified for domain '*'
[2016/08/20 14:36:44.553782, 1] ../source3/auth/token_util.c:430(add_local_groups)
SID S-1-5-21-1934213540-918117097-1557597498-1000 -> getpwuid(1002) failed
[2016/08/20 14:36:44.554723, 1] ../source3/param/loadparm.c:2389(lp_idmap_range)
idmap range not specified for domain '*'
[2016/08/20 14:36:44.554938, 1] ../source3/auth/token_util.c:430(add_local_groups)
SID S-1-5-21-1934213540-918117097-1557597498-1000 -> getpwuid(1002) failed
Aqui está o conteúdo atual do smb.conf, se ajudar alguém. Eu só estou incluindo o que eu mudei; qualquer coisa não mencionada está no padrão:
[global]
log level = 2
username map = /etc/samba/smbusers
encrypt passwords = yes
security = user
[All Users]
comment = Directory accessible to all users
path = /home/samba/allusers
guest ok = yes
read only = no
browseable = yes
create mask = 0777
directory mask = 0777
[Email Backup]
comment = email backup folder
path = /home/samba/emailbackup
guest ok = yes
read only = no
browseable = yes
valid users = xavie emailer +emailbackup
Alguém pode ver qual é o novo problema que estou tendo?
A ajuda será muito apreciada,
Atenciosamente