Após horas de pesquisa e testes, finalmente consegui que o FreeNAS 8 fosse integrado ao Mac OS X Open Directory. Veja o que é necessário para que isso aconteça:
Primeiro, verifique se o Open Directory está funcionando usando o aplicativo Server Admin:
AnoteaBasedepesquisaLDAPeoKerberosRealm.
NaGUIdaWebdoFreeNAS,configureoserviçoLDAPdaseguinteforma:
- Nomedohost:your.servers.hostname.or.ip
- DNbase:SuabasedepesquisaLDAPdoOpenDirectory
- Permitirvinculaçãoanônima:Desmarcado(eutiveissodesativadoevinculadocomomeuusuário
diradmin
,masissopodeserdesnecessário...) - DNdavinculaçãoraiz:
uid=diradmin,
,emseguida,oDNbase - SenhaRaiz:AsenhadoseuOpenDirectory
diradmin
user.Novamente,issopodeserdesnecessário,eunãotenhocerteza - Criptografiadesenha:
crypt
- Sufixodousuário:
cn=users
- Sufixodogrupo:
cn=groups
- Sufixodesenha:
cn=users
- Sufixodamáquina:
cn=computers
- Mododeencriptação:
Off
- Certificadoautoassinado:vazio
Parâmetrosauxiliares:
ldap_version3timelimit30bind_timelimit30bind_policysoftpam_ldap_attributeuidsasl-host*your.open.directory.server.ip.or.hostname*sasl-realm*YOUR.KERBEROS.REALM.FROM.FIRST.STEP*
OsParâmetrosAuxiliaressãoachave,especialmentesasl-host
esasl-realm
.Obviamente,substitua*your.open.directory.server.ip.or.hostname*
e*YOUR.KERBEROS.REALM.FROM.FIRST.STEP*
pelasinformaçõesdaprimeiraetapa(vejaaprimeiracapturadetela)
Quandovocêsalvaasalterações,oLDAPdevecomeçaratrabalharparatodososserviçosexcetoSamba/CIFS.PartedalutafoicomocorrigiroSamba:apósconfigurarinicialmenteoserviçoLDAPnoFreeNAS,descobriquenenhumusuáriopoderiaseconectarviaSamba,,mesmousuáriosdefinidoslocalmentenamáquinaFreeNAS.
NãohouveerrosnologdoSamba,apenasapermissãonegouerrosnasmáquinasclientes.MaispesquisasrevelaramqueeutinhaquehabilitaroservidorFreeNASSambaparaautenticarcontraoMacOSXOpenDirectoryusandoSASLseparadamentedaconfiguraçãoLDAP.
ÉimportanteobservarqueobancodedadosLDAPdoMacOSXnãocontémdadosdesenha.AautenticaçãoestádisponívelsomenteviaSASL/Kerberos.Citar
Unlike some other LDAP directories, OS X doesn't store a password inside the LDAP record - it uses an "SASL" mechanism - it queries to the "AuthenticationAuthority" attribute to advise the location where the user password can be retrieved.
The passwords are stored inside the PasswordServer (SASL Server), in CRAM-MD5, Digest-MD5, DHX, etc (see Page 50 of the Open Directory Administation Guide).
É por isso que o sasl-host
é tão importante na configuração do LDAP.
Configure o Samba para usar o SASL:
ATUALIZAÇÃO 2012-12-31: Isso não está mais funcionando para mim. Eu tenho tentado por horas determinar por que e até agora não consegui.
Na GUI da Web do FreeNAS, configure o serviço CIFS da seguinte forma:
(A tela de configuração do CIFS é muito longa, eu combinei o topo e o fundo para maior clareza)
-
Modelo de autenticação:
Local User
-
Parâmetros auxiliares:
password server = *YOUR.KERBEROS.REALM.FROM.FIRST.STEP* client ntlmv2 auth = yes
Depois de salvar essas alterações, teste a conexão com o Samba com um usuário definido no Open Directory e confirme que você pode se conectar. Além disso, teste usando AFP / SSH para confirmar se eles também estão sendo autenticados no Open Directory.
Problemas conhecidos
Há algumas coisas que não consegui resolver:
-
Os diretórios pessoais do usuário no servidor LDAP do Mac OS X assumem o formato
/Network/Servers/some.server/some.directory/username
. No entanto, o FreeNAS não possui o diretório/Network/Servers
. Seria muito simples paramkdir -p /Network/Servers
e links simbólicos dos usuários, mas/
é montado somente para leitura, então eu não posso fazer isso. Consequentemente, os usuários LDAP não podem ter.AppleVolumes
arquivos para compartilhamentos AFP personalizados .ATUALIZAÇÃO 2012-12-31: Descobri que o Mac OS X permitirá diretórios pessoais no formato
/mnt/somewhere/someuser
, permitindo que o diretório inicial do usuário do Mac OS X corresponda ao sistema de arquivos FreeNAS, resolvendo esta questão. - O Samba / CIFS agora só pode autenticar usuários LDAP. Isso significa que qualquer usuário que se conecte via Samba deve ter uma autoridade no banco de dados do LDAP, os usuários locais não funcionarão mais. Isso significa que você não pode ter um compartilhamento de diretório inicial, veja # 1.