Configurar shares Samba com autenticação Active Directory
Posted: 9th Junho 2010 by Hugo in TechTags: active directory, autenticação, debian, linux, samba, share
0
Este pequeno tutorial serve para quem estiver interessado, e também para minha referência futura.
A distribuição utilizada foi Debian Lenny, usando os repositórios por defeito.
![]() |
![]() |
![]() |
Instalação de pacotes necessários
apt-get update && apt-get upgrade
apt-get install krb5-config krb5-user libkrb53 libpam-krb5 samba-common samba winbind smbclient
Depois disto passamos à configuração. No /etc/samba/smb.conf podemos apagar tudo e copiar para lá o essencial, ou seja, isto:
[global]workgroup = DOMINIOrealm = DOMINIO.LOCnetbios aliases = fileserverserver string = %hsecurity = ADSobey pam restrictions = Yespassdb backend = tdbsampam password change = Yespasswd program = /usr/bin/passwd %upasswd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .unix password sync = Yeslog level = 1syslog = 1log file = /var/log/samba/log.%mmax log size = 1000dns proxy = Nowins server = ip.do.wins.serverpanic action = /usr/share/samba/panic-action %didmap backend = idmap_rid:DOMINIO=100000-200000idmap uid = 100000-200000idmap gid = 100000-200000template shell = /bin/bashwinbind separator = +winbind enum users = Yeswinbind enum groups = Yeswinbind use default domain = Yes
A negrito aquilo que deve ser alterado de acordo com as vossas necessidades.
Seguidamente tratamos do Kerberos (/etc/krb5.conf)
[logging]default = FILE:/var/log/krb5libs.logkdc = FILE:/var/log/krb5kdc.logadmin_server = FILE:/var/log/kadmind.log[libdefaults]default_realm = DOMINIO.LOC# The following krb5.conf variables are only for MIT Kerberos.krb4_config = /etc/krb.confkrb4_realms = /etc/krb.realmskdc_timesync = 1ccache_type = 4forwardable = trueproxiable = true# The following libdefaults parameters are only for Heimdal Kerberos.v4_instance_resolve = falsev4_name_convert = {host = {rcmd = hostftp = ftp}plain = {something = something-else}}fcc-mit-ticketflags = truekrb4_get_tickets = falsekrb4_convert = true
[realms]DOMINIO.LOC = {kdc = servidor.do.dc.1kdc = servidor.do.dc.2admin_server = pdc.do.dominio}krb4_get_tickets = false
[domain_realm].mit.edu = ATHENA.MIT.EDUmit.edu = ATHENA.MIT.EDU.media.mit.edu = MEDIA-LAB.MIT.EDUmedia.mit.edu = MEDIA-LAB.MIT.EDU.csail.mit.edu = CSAIL.MIT.EDUcsail.mit.edu = CSAIL.MIT.EDU.whoi.edu = ATHENA.MIT.EDUwhoi.edu = ATHENA.MIT.EDU.stanford.edu = stanford.edu.slac.stanford.edu = SLAC.STANFORD.EDU[login]krb4_convert = true
Por último a ordem de autenticações no /etc/nsswitch.conf
# /etc/nsswitch.conf## Example configuration of GNU Name Service Switch functionality.# If you have the `glibc-doc-reference’ and `info’ packages installed, try:# `info libc “Name Service Switch”‘ for information about this file.passwd: files winbind compatgroup: files winbind compatshadow: files winbind compathosts: files dns winsnetworks: filesprotocols: db filesservices: db filesethers: db filesrpc: db filesnetgroup: nis
Reiniciamos os serviços (samba e winbind) e podemos instalar o servidor no domínio. Podemos testar antes de mais o funcionamento do mesmo
:~# kinit -V hugo.ferreiraPassword for hugo.ferreira@DOMINIO.LOC:Authenticated to Kerberos v5:~#
Tendo sucesso, colocamos o servidor no domínio
net ads join -u administratorJoined ‘servidor’ to realm ‘DOMINIO.LOC’
Para colocarmos um share com permissões para um determinado grupo da AD configuramos o smb.conf da seguinte forma
[homedir]comment = Homedirpath = /home/hugo.ferreiravalid users = @%D%hugo.ferreiraread only = nobrowseable = yes
Reiniciamos o samba e testamos (\\servidor\homedir). Et voilá, temos acesso
Talvez relacionados:


