Eu sei que parece que eu não fiz a pesquisa aqui, porque eu fiz isso, e eu sei quantas perguntas e tutoriais relacionados existem. Eu li todos os tutoriais que posso encontrar on-line para isso. Eu passei pela lista completa dos tópicos do Samba / Kerberos / AD / authentication no serverfault.
Na verdade, o tutorial que me levou mais longe, só porque consegui verificar o sucesso em cada etapa, foi o link . Infelizmente, ainda não funcionou. Sem mais delongas, meu problema:
Eu tenho um convidado KVM rodando o CentOS 6.5. Eu instalei o Samba 3.6.9. Eu quero usar o Samba para compartilhar diretórios de usuários para que eles possam mapeá-los como unidades de rede em máquinas com Windows 7. Eu fiz isso com sucesso usando smbpasswd
com contas locais. O problema é que eu quero autenticar esses usuários usando o Kerberos (Active Directory, sobre o qual não tenho controle). Eu não preciso nem quero qualquer tipo de informações de usuário, grupo ou política do Kerberos / AD / LDAP. Eu apenas quero autenticar a senha do usuário conforme fornecida pelo usuário para a GUI de mapeamento de unidade do Windows e enviada para o Samba.
Também é importante notar que eu já configurei o Kerberos para acesso SSH no mesmo convidado KVM para os mesmos usuários. Com entradas em /etc/passwd
e nenhuma senha definida em /etc/shadow
, os usuários inserem sua senha Kerberos no login SSH e são autenticados. Isso é exatamente o que eu quero para o Samba. Eu quero que os usuários "Map Network Drive", digite o FQDN do servidor Samba, digite seu nome de usuário e senha, e mande o Samba autenticá-los com a senha da mesma forma que o SSH os autentica com a senha. mapeado com sucesso.
Eu fiz:
service winbind start
service smb start
service nmb start
O krb5.conf
, que funciona muito bem para a autenticação SSH, é:
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = MYDOMAIN.COM
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
[realms]
MYDOMAIN.COM = {
kdc = mydomain.com
admin_server = mydomain.com
}
[domain_realm]
.mydomain.com = MYDOMAIN.COM
mydomain.com = MYDOMAIN.COM
Em /etc/samba/smb.conf
, tentei muitas coisas, mas a configuração que parece mais lógica com base em todos os tutoriais envolve, de forma mais relevante:
workgroup = MYDOMAIN
security = ads
realm = MYDOMAIN.COM
encrypt passwords = yes
kerberos method = secrets only
password server = mydomain.com
Vale a pena notar que mydomain.com é o FQDN do meu servidor e MYDOMAIN.COM é o reino do Kerberos, por isso não é um erro de digitação.
O problema é que, em primeiro lugar, a maioria dos tutoriais fala sobre como gerar um keytab e um princípio para o host. Eu não entendo isso, porque eu não estou autenticando o host, mas apenas os usuários. Além disso, a autenticação de senhas SSH com o Kerberos não exige tal etapa, tanto quanto eu sei (eu não precisei fazer isso). Eles sugerem a configuração adequada "método kerberos = segredos e keytab". Segundo, muitos tutoriais parecem centrados em obter informações sobre usuários e grupos que estão armazenados no Active Directory ou autenticar usuários contra o Samba para algum outro propósito usando o Kerberos. Eu só quero usar o Samba para compartilhamento de arquivos e eu só quero usar o Kerberos para autenticar senhas como minha configuração SSH.
Toda tentativa e todo tutorial que eu segui resulta em falha. Verifico /var/log/samba/*
para logs e localizo arquivos com um nome incluindo o endereço IP da máquina conectada, mas nenhuma informação sobre a tentativa de conexão. Esses arquivos de log estão vazios.
Vale a pena notar que, embora eu possa ingressar em meu servidor no domínio, não tenho privilégios administrativos, portanto, não consigo gerar um keytab (embora eu não entenda por que o Samba precisa de um, se o SSH não). / p>
Alguém poderia, por favor, me dar alguma ajuda para realizar isso? Ou, se de alguma forma isso não puder ser feito, deixe-me saber e explicar por quê? Eu não me importo de ser apontado para um tutorial, mas eu honestamente vasculhei todos os tutoriais que posso encontrar, então, por favor, esteja disposto a aceitar perguntas de acompanhamento se você fornecer um link tutorial.
Muito obrigado.