Configure o Samba Share acessível pelo serviço do windows

1

Eu estou tentando configurar um servidor Samba para permitir o acesso a um serviço (Oracle) em execução em um servidor Windows. Em um ponto eu testei isso e funcionou sem um problema, então eu não fiz backup do meu arquivo conf (grrr). Agora eu tenho lutado com isso e nada que eu tente vai funcionar.

Eu tenho a minha configuração de serviço do Windows para fazer o login como um usuário de domínio e estou logado no servidor como esse usuário e pode se conectar ao servidor samba sem ele me pedindo uma senha; no entanto, quando eu executo meu serviço, fica uma falha de logon: nome de usuário desconhecido ou senha incorreta.

Editar # 1 9 de dezembro de 2010 1654 GMT / 0954 MST

Eu fiz o upgrade para o Samba v3.3.8-0.52.el5_5.2 e consegui finalmente obter alguns logs úteis, mas não importa o que eu faça, não consigo fazer com que um usuário mapeie e autentique corretamente.

Arquivo de log:

[2010/12/09 09:57:52,  3] auth/auth.c:check_ntlm_password(220)
check_ntlm_password:  Checking password for unmapped user [NATRONA]\[Administrator]@[NATRONA17] with the new password interface
[2010/12/09 09:57:52,  3] auth/auth.c:check_ntlm_password(223)
check_ntlm_password:  mapped user is: [RMAN]\[Administrator]@[NATRONA17]
[2010/12/09 09:57:52,  3] smbd/sec_ctx.c:push_sec_ctx(224)
push_sec_ctx(0, 0) : sec_ctx_stack_ndx = 1
[2010/12/09 09:57:52,  3] smbd/uid.c:push_conn_ctx(440)
push_conn_ctx(0) : conn_ctx_stack_ndx = 0
[2010/12/09 09:57:52,  3] smbd/sec_ctx.c:set_sec_ctx(324)
setting sec ctx (0, 0) - sec_ctx_stack_ndx = 1
[2010/12/09 09:57:52,  3] smbd/sec_ctx.c:pop_sec_ctx(432)
pop_sec_ctx (0, 0) - sec_ctx_stack_ndx = 0
[2010/12/09 09:57:52,  3] auth/auth_sam.c:check_sam_security(282)
check_sam_security: Couldn't find user 'Administrator' in passdb.
[2010/12/09 09:57:52,  2] auth/auth.c:check_ntlm_password(318)
check_ntlm_password:  Authentication for user [Administrator] -> [Administrator] FAILED with error NT_STATUS_NO_SUCH_USER

Eu tenho mapeamentos de configuração no meu arquivo smbusers :

root = administrator admin Administrator [NATRONA]\[Administrator] [RMAN]\[Administrator]
nobody = guest pcguest smbguest

E eu acho que tenho meu compartilhamento configurado corretamente:

[recovery]
    comment = Recovery Catalog Data
    writeable = yes
    public = yes
    guest only = no
    valid users = oracle,root,[NATRONA]\[Administrator]@[NATRONA17]

Obviamente, há uma incompatibilidade entre o nome de usuário que o servidor Windows está enviando e o mapeamento no servidor samba. Eu até tentei guest only = yes tentar forçar guest e ele não funcionou.

Algum guru da samba, por favor, me aponte na direção correta.         caminho = / db / recovery

    
por ErebusBat 09.12.2010 / 00:52

1 resposta

2

Acontece que o samba não estava olhando para o meu arquivo de mapa do usuário. A configuração correta é mostrada abaixo:

[global]
    log file = /var/log/samba/log.%m
    cups options = raw
    load printers = no
    guest account = oracle
    printing = bsd
    server string = Oracle Recovery Server
    workgroup = UNIX
    debug level = 5
    username map = /etc/samba/smbusers
    null passwords = yes
    encrypt passwords = yes
    security = user
    passdb backend = tdbsam
    max log size = 50


[recovery]
    comment = Recovery Catalog Data
    writeable = yes
    public = yes
    guest only = yes
    guest ok = yes
    valid users = oracle,root
    path = /var/oracle_recovery_catalog

Eu também tive que definir meu usuário oracle para uma senha nula: smbpasswd -an oracle .

Essa configuração não requer que eu mude o serviço para ser executado em outra conta. WOO HOO!

AVISO: Isso permite que qualquer pessoa leia / grave no compartilhamento especificado. Eu estou lidando com segurança no nível do firewall; no entanto, se você estiver implementando essa solução, deve usar algo, o samba suporta uma diretiva hosts allow que pode valer a pena.

    
por 09.12.2010 / 22:50

Tags