Os aliases do NetBI Samba lançam um erro inexplicável de usuários compartilhados

0

Estou tentando configurar aliases de netbios no Samba no Ubuntu 12.04 LTS (2: 3.6.3-2ubuntu2).

Minha principal participação (não nos aliases) funciona bem. Os compartilhamentos nos aliases podem ser listados, mas falham ao se conectar com o seguinte erro:

param/loadparm.c:9114(process_usershare_file) process_usershare_file: stat of /var/lib/samba/usershares/usersx failed. No such file or directory

Eu recebo uma "permissão negada" se eu criar o arquivo acima.

Quando me conecto com smbclient -U% //serverh/users , obtenho:

tree connect failed: NT_STATUS_BAD_NETWORK_NAME

Minha configuração de samba smb.conf e alias relacionadas configs smb-%L.conf não mencionam nada relacionado a usuários compartilhados, e eu entendo que usuários compartilhados são desabilitados quando as configurações são o padrão, então porque é a única coisa mencionada no log é um mistério.

Aqui está uma amostra de uma (muitas, muitas) variantes da configuração que tentei:

smb.conf

[global]
netbios name = ServerC
netbios aliases = ServerO ServerH
workgroup = CC
server string = %h server (Samba, Ubuntu)
interfaces = 192.168.0/24 10.10.10.0/24 eth0
log file = /var/log/samba/log.%m
max log size = 4000
syslog = 0
map to guest = Bad user
create mask = 0775
directory mask = 0775
security = user
encrypt passwords = true
guest account = nobody
usershare allow guests = yes
wins support = yes
local master = yes
preferred master = yes
os level = 65
include = /etc/samba/smb-%L.conf

[netlogon]
comment = Network Logon Service
path = /var/lib/samba/netlogon
guest ok = yes
read only = yes

A configuração não funcional:

smb-serverh.conf

[global]
workgroup = CC
netbios name = ServerH
map to guest = Bad User
guest ok = Yes
create mask = 0775
directory mask = 0775
security = user

[users]
comment = "Server H Users"
path = /var/local/samba/serverh/users
nt acl support = No
guest ok = yes
force group = sambashare

A configuração do alias de trabalho:

smb-serverc.conf

[global]
workgroup = CC
netbios name = ServerO
map to guest = Bad User
guest ok = Yes
create mask = 0775
directory mask = 0775
security = user

[data]
comment = "Server C Data"
path = /var/local/samba/serverc/data
read only = no
nt acl support = No
guest ok = yes
force group = sambashare

Encontrei várias sugestões sobre qual pode ser a questão, mas nenhuma delas valeu. O diretório serverh/users existe e executei chmod 775 -R serverh e chown nobody:sambashare serverh nele. As mesmas permissões que o Servidor C. Não estou usando o selinux, mas executei echo 0 > /selinux/enforce . Quando coloco o users no arquivo smb-serverc.conf , não tenho problema em acessá-lo.

O Samba está agindo como se o diretório não existisse, mas claramente (já que funciona no serverc config), e como se o usershares estivesse habilitado (mas eles não são mencionados na configuração), e em qualquer caso os compartilhamentos não possam ser acessados, embora a configuração siga o que parece ser o caso mais simples para aliases de netbios.

Estou perplexo e qualquer ajuda seria muito apreciada.

    
por Brian M. Hunt 11.01.2014 / 20:17

1 resposta

0

A solução foi encontrada no artigo de 2008 Samba: IP Alias Servers On Debian .

Para evitar o bitrot, aqui estão os pontos principais:

Adicionar aliases de IP a /etc/network/interfaces

... 
iface eth0 inet static
address 10.10.10.10
netmask 255.255.255.0

iface eth0:1 inet static
address 10.10.10.11
netmask 255.255.255.0
auto eth0:1

iface eth0:2 inet static
address 10.10.10.12
netmask 255.255.255.0
auto eth0:2

Traga os aliases para ifup eth0:1; ifup eth0:2 . Não se esqueça de adicionar estas linhas a, e. /etc/rc.local se é assim que você traz suas interfaces.

Configurar pesquisas de nome

Estou usando o dnsmasq, então só tive que adicionar os hosts ao meu arquivo /etc/hosts assim:

10.10.10.10 serverc
10.10.10.11 serverh
10.10.10.12 servero

Pode ser necessário excluir ou editar os caches de pesquisa de nome /var/lib/samba/wins.dat e / ou /var/cache/samba/browser.dat . Se o cache da rede estiver envenenado, poderá ser necessário mais esforço .

Atualizar configuração do Samba

smb.conf : altere a linha include de /etc/samba/smb-%L.conf para /etc/samba/%i.conf .

Em seguida, crie uma ligação simbólica da configuração dos aliases de IP para a respectiva configuração da seguinte forma:

ln -s smb-serverc.conf 10.10.10.10.conf
ln -s smb-serverh.conf 10.10.10.11.conf
ln -s smb.servero.conf 10.10.10.12.conf

Edite cada uma dessas configurações para adicionar a respectiva linha interfaces = , por exemplo,

  • smb-serverc.conf : interfaces = eth0
  • smb-serverh.conf : interfaces = eth0:1
  • smb-servero.conf : interfaces = eth0:2

Não se esqueça de remover interfaces = de smb.conf , pois eles podem realmente estragar as coisas.

Execute service smbd restart e service nmbd restart e desative as corridas.

Uma alternativa menos complicada é definir smb ports = 139 e, em seguida, o nome NetBios funcionará.

    
por 12.01.2014 / 02:22