Servidor Linux SMB + PAM: como conceder permissões aos usuários LDAP?

1

Eu tenho um servidor Linux Mint SMB configurado da maneira padrão (ou seja, o jeito que ele vem de apt-get ), então eu tenho esse conjunto:

passdb backend = tdbsam

Eu tenho o LDAP configurado corretamente com o PAM (e logins de usuários via ssh funcionam corretamente).

Eu tentei fazer isso nas configurações de um compartilhamento:

valid users = family

Onde family é um grupo no servidor LDAP.

No entanto, quando tento me conectar ao servidor como um usuário ldap, ele não me permite conectar. Se eu me conectar como usuário local, isso funciona.

Além disso, o painel de controle "Pastas compartilhadas" do Ubuntu não mostra nenhum usuário da rede na lista de pessoas para conceder acesso a vários compartilhamentos.

Então: por que isso não está funcionando?

Adições:

Aqui está o que eu acredito ser uma parte relevante do arquivo de log [muito] longo marcado pelo nome do computador que está se conectando:

Mapping user [SEC1][christopher] from workstation [DEFIANT]

attempting to make a user_info for christopher (christopher)

making strings for christopher's user_info struct

making blobs for christopher's user_info struct

made a user_info for christopher (christopher)

check_ntlm_password: Checking password for unmapped user [SEC1][christopher]@[DEFIANT] with the new password interface

check_ntlm_password: mapped user is: [SEC1][christopher]@[DEFIANT]

check_ntlm_password: auth_context challenge created by random

challenge is:

[0000] F9 89 7B 47 67 0B 29 49 ..{Gg.)I

Check auth for: [christopher]

check_ntlm_password: guest had nothing to say

Check auth for: [christopher]

is_myname("SEC1") returns 1

push_sec_ctx(0, 0) : sec_ctx_stack_ndx = 1

push_conn_ctx(0) : conn_ctx_stack_ndx = 0

setting sec ctx (0, 0) - sec_ctx_stack_ndx = 1

Security token: (NULL)

UNIX token of user 0 Primary group is 0 and contains 0 supplementary groups

pdb_getsampwnam (TDB): error fetching database. Key: USER_christopher

pop_sec_ctx (0, 0) - sec_ctx_stack_ndx = 0

check_sam_security: Couldn't find user 'christopher' in passdb.

check_ntlm_password: sam authentication for user [christopher] FAILED with error NT_STATUS_NO_SUCH_USER

check_ntlm_password: Authentication for user [christopher] -> [christopher] FAILED with error NT_STATUS_NO_SUCH_USER

Checking NTLMSSP password for SEC1\christopher failed: NT_STATUS_NO_SUCH_USER

No such user christopher [SEC1] - using guest account

Observe que "SEC1" é o nome do servidor e "DEFIANT" é o nome do cliente. Eu também tentei conectar com o nome de usuário "\"; ele reconheceu corretamente o domínio, mas isso ainda não alterou nada.

    
por iAdjunct 07.03.2016 / 02:15

1 resposta

2

Enquanto o PAM autentica usuários no banco de dados LDAP, o Samba autentica usuários em relação ao seu backend tdbsam . A solução simples é adicioná-los com smbpasswd -a <username> ou pdbedit -a -u <username> . A solução complicada é usar o LDAP como passdb backend do Samba.

EDIT : observe que, se você configurar o Samba para usar o LDAP como passdb backend , ele autenticará somente os usuários LDAP, não os locais.

    
por 07.03.2016 / 02:46