Usuário (s) específico (s) do Windows que se conectam ao compartilhamento de samba como 'nobody' em vez de nome de usuário?

1

Temos um servidor Ubuntu 9.04 executando samba com senhas nulas e compartilhamentos de diretório inicial, e temos usuários correspondentes que montam os compartilhamentos em máquinas com Windows. Essencialmente, cada usuário tem uma conta no servidor (com o mesmo nome de usuário em suas máquinas Windows) e um diretório pessoal em / home / USERNAME que é montado em sua máquina local como \\ SAMBABOX \ USERNAME ao qual eles têm acesso total.

Para a maioria dos usuários, isso funciona sem problemas; eles podem ler, gravar, criar e excluir arquivos em seus compartilhamentos sem problemas. A seguir, uma dessas conexões iniciais, como visto nos logs do samba:

[2009/12/02 10:30:22,  1] smbd/service.c:make_connection_snum(1115)
  somewindowsbox (192.168.2.123) connect to service ekaufman initially as user ekaufman (uid=1002, gid=1002) (pid 22574)

Para um usuário em particular, no entanto, eles são incapazes de - no mínimo - criar certos arquivos (arquivos de bloqueio para uma cópia de trabalho do SVN). Isto é, lembre-se, de qualquer máquina Windows no nosso domínio AD. Olhando para seus logs de samba, sua conexão inicial é feita como o usuário nobody , e eu não posso, para a vida de mim, descobrir o porquê.

[2009/11/18 10:19:32,  1] smbd/service.c:make_connection_snum(1115)
  somewindowsbox (192.168.2.123) connect to service jdoe initially as user nobody (uid=65534, gid=65534) (pid 15570)

A conta de usuário no servidor ubuntu é mais ou menos idêntica às outras, conforme indicado em / etc / passwd :

ekaufman:x:1002:1002:,,,:/home/ekaufman:/bin/bash
jdoe:x:1015:1015:,,,:/home/jdoe:/bin/bash

e / etc / group :

ekaufman:x:1002:
jdoe:x:1015:

E até mesmo / etc / shadow (com os hashes de senha removidos antes de serem postados aqui, é claro):

ekaufman:!:14580:0:99999:7:::
jdoe:!:14572:0:99999:7:::

Eu até deletei a conta deles na caixa do ubuntu e a recriou, sem alterações. De acordo com o administrador do controlador de domínio do AD, a conta deles é mais ou menos idêntica a todos os outros também (excluí-lo e recriá-lo seria proibitivamente complicado).

Se eu montar manualmente o compartilhamento para minha própria conta a partir de uma máquina Windows, forçando o nome de usuário, ele funcionará sem incidentes:

C:\> net use z: \sambabox.local\ekaufman /user:ekaufman
The command was completed successfully

Se eu fizer o mesmo para esse usuário em particular, ele ainda se conectará como nobody , com falha silenciosa:

C:\> net use z: \sambabox.local\jdoe  /user:jdoe
The command was completed successfully

Isso me dá a impressão de que, qualquer que seja o problema, ele está no lado linux das coisas.

Esta é toda a configuração do smb em uso:

[global]
   null passwords = yes
   guest ok = yes
   security = user
   workgroup = WORKGROUP
   server string = %h server (Samba, Ubuntu)
   dns proxy = no
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   encrypt passwords = true
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes
   map to guest = bad user
   usershare allow guests = yes

[homes]
   comment = Home Directories
   browseable = no
   read only = no

[printers]
   comment = All Printers
   browseable = no
   path = /var/spool/samba
   printable = yes
   guest ok = no
   read only = yes
   create mask = 0700

[print$]
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no
    
por EvanK 02.12.2009 / 20:35

3 respostas

0

Como se vê, a resposta foi enganosamente simples. Além do usuário precisar de uma conta na máquina linux, eles também precisaram ser adicionados ao arquivo smbpasswd . Além disso , já que as conexões estão sendo feitas com senhas nulas, precisamos adicioná-las com uma senha nula ao arquivo:

# -a flag adds the new user (must already exist in /etc/passwd)
# -n flag indicates a null password (different from an empty password)
smbpasswd -an jdoe
    
por 08.12.2009 / 23:47
1

Eu achei o erro como sendo o mapeamento de nome de usuário em users.map, que eu tinha usado anteriormente para correlacionar nomes de usuários NIS a contas A.D. Depois de mudar todo o NIS para o A.D. ServicesForUNIX NIS, esqueci de remover esses antigos mapeamentos de nome de usuário.

    
por 21.01.2013 / 19:48
0

No meu sistema, existe um grupo chamado "sambashare". Veja se jdoe é um membro (junto com todos os outros).

    
por 02.12.2009 / 21:27