Você está na página 1de 5

Unir Samba a un dominio de Windows

Desde hace varias semanas he intentado unir mis maquinas con Linux (Fedora core 6 y 8) a un dominio
de Windows 2003, despues de un poco de investigacin, por fin he logrado unir mis maquinas y utilizar los
usuarios y grupos del dominio para poder aplicar seguridad a los recursos compartidos. Todas las pruebas
fueron realizadas utilizando Fedora y un dominio Windows 2003, todo lo que esta resaltado con color
amarillo en los comandos o en los archivos de configuracin son comentarios y no deben ser escritos,
tambien algo que me ha dado problemas es selinux al estar activado, para desactivarlo cambiar el
parametro "SELINUX=enforcing" por "SELINUX=disabled" en el archivo "/etc/sysconfig/selinux".
La primera tarea a realizar es la actualizacin de los paquetes utilizados en la configuracin, los cuales
son :
Samba:
yumupgradesambasambaclient
Kerberos:
yumupgradekrb5libs
Pam:
yumupgradepam
El esquema de red es el siguiente :

2 Servidores de dominio (roble/192.168.0.10 y acacio/192.168.0.11), siendo acacio el servidor


primario o PDC, ambos tienen instalado Windows 2003 server con Service Pack 2.

El servidor de archivos linux que uniremos al dominio se llamara peumo/192.168.0.50.

2 grupos de seguridad que necesito usen los recursos de estos servidores, ademas de mi
usuario personal y el administrador del dominio(mas adelante explicare cada uno).

Todos los equipos de la red estan en el mismo segmento de red 192.168.0.0/255.255.255.0 y el


nombre del dominio sera patricioleon.cl.

Para autentificar los linux contra el dominio ocuparemos Kerberos, por lo que iniciaremos configurandolo y
obteniendo un ticket de seguridad.
Configuracin de Kerberos.
Para configurar Kerberos debemos modificar el archivo krb5.conf, ubicado en "/etc", adecundolo al caso
particular de cada dominio, quedando con la siguiente configuracin.
[logging]
default=FILE:/var/log/krb5libs.log
kdc=FILE:/var/log/krb5kdc.log
admin_server=FILE:/var/log/kadmind.log
[libdefaults]
default_realm=PATRICIOLEON.CL
dns_lookup_realm=false
dns_lookup_kdc=false
ticket_lifetime=24h
forwardable=yes
[realms]
PATRICIOLEON.CL={
kdc=acacio.patricioleon.cl:88
admin_server=acacio.patricioleon.cl:749
default_domain=patricioleon.cl
}
[domain_realm]
.patricioleon.cl=PATRICIOLEON.CL
patricioleon.cl=PATRICIOLEON.CL
[appdefaults]
pam={
debug=false
ticket_lifetime=36000
renew_lifetime=36000

forwardable=true
krb4_convert=false
}
Entonces donde aparece patricioleon.cl, debieses cambiar por tu dominio, y donde dice
acacio.patricioleon.cl por el nombre o direccin ip de tu PDC. Una vez modificado el archivo krb5.conf
debemos obtener un ticket, con el comando kinit, entonces ejecutamos el siguiente comando:
kinitadministrador@PATRICIOLEON.CL (reemplazando siempre el dominio PATRICIOLEON.CL,
por el dominio propio)
passwordforadministrador@PATRICIOLEON.CL:(aca escribimos la password del
administrador del dominio)
Si todo a salido bien tendremos un ticket kerberos para verificar usamos el comando klist, el cual muestra
todos los ticket actuales almacenados en nuestra maquina linux. El paso siguiente es modificar algunos
archivos del sistema.
Dos de los problemas mas comunes por los que no se puede obtener un ticket son porque, en el archivo
krb5.conf algo a quedado mal escrito (verificar muy bien minusculas y mayusculas), o porque la diferencia
de hora entre el servidor kerberos y nuestra maquina supera los 5 minutos (para solucionar esto puedes
utilizar ntp), tambien puede deberse a que la maquina linux no logra encontrar el servidor kerberos
configurado (para solucionar esto ver la siguiente pagina).

Modificacin de archivos de configuracin del sistema.


Ademas de la obtencin del ticket kerberos, debemos modificar varios archivos del sistema operativo
relacionados con la red y los usuarios.
host.conf
orderhosts,bind,smb#agregamos smb para que cuando busque equipos tambin pueda utilizar
nombres netbios.
hosts
127.0.0.1peumo.patricioleon.cllocalhost.localdomainlocalhostpeumo#en esta
linea agregaremos el nombre dns de la maquina al principio, esto es para que al momento de unir la
maquina al dominio agregue este nombre al dns y no localhost.localdomain
192.168.0.11acacio.patricioleon.clacacio
192.168.0.10roble.patricioleon.clroble#agregamos los 2 servidores de directorio, por si
en algun momento el dns no pudiese resolver los nombres a direcciones ip.
nsswitch.conf
passwd:fileswinbind#enestalineadebesagregarelparametrowinbindal
final
shadow:files
group:fileswinbind#enestalineadebesagregarelparametrowinbindal
final

Modificacin del smb.conf


Este es el archivo desde donde samba, nmb y winbind leen sus parmetros de configuracin,
generalmente el archivo original tiene muchas lineas con ejemplos de como se puede configurar
(recomiendo no eliminar ni sobrescribir el archivo original, cmbiale el nombre, por ejemplo.
smb.conf.bak), pero para unir una maquina a un dominio con estas lineas sera suficiente, la idea es que

modifiques este archivo hasta satisfacer tus necesidades.


smb.conf
[global]
workgroup=PATRICIOLEON#nombredelgrupodetrabajo,generalmenteelnombre
deldominio.
realm=PATRICIOLEON.CL#nombredelrealmestedebeserigualalvalordel
parametro"default_realm"delarchivokrb5.conf.
preferredmaster=no
serverstring="Linuxtesteos"
passwordserver=*
security=ADS
encryptpasswords=yes
loglevel=3
logfile=/var/log/samba/%m
maxlogsize=50
winbindseparator=+#cambiamoselseparadorentreeldominioynombrede
usuarioogrupo,yaqueelbackslashavecesprovocaproblemas.
winbindenumusers=yes
winbindenumgroups=yes
idmapuid=1000020000
idmapgid=1000020000
clientusespnego=yes#esteparametroesnecesariosolositienesun
servidordedominioenWindows2003.
[compartida]
path=/var/compartida
comment="Directoriocompartido"
adminusers=@PATRICIOLEON+digitalizacion,PATRICIOLEON+pleon,
PATRICIOLEON+Administrador#usuariosygruposconpermisosdeadministracin
sobreelrecurso.
validusers=@PATRICIOLEON+digitalizacion,PATRICIOLEON+pleon,
PATRICIOLEON+Administrador#usuariosygruposquepuedenverelcontenidodel
recursoperonomodificarlo.
writelist=@PATRICIOLEON+digitalizacion,PATRICIOLEON+pleon,
PATRICIOLEON+Administrador#usuariosygruposquepuedenescribirenel
recurso.
guestok=no
readonly=no
browseable=yes
createmask=0755
directorymask=0755
#para diferenciar un grupo de un usuario se antepone el caracter arroba(@), por ejemplo en este archivo,
utilizamos el grupo digitalizacion y los usuarios pleon y administrador.

Unin de linux al dominio.


Ahora que estan todos los archivos necesarios configurados y que tenemos un ticket valido, debemos unir
la maquina al dominio para ello utilizaremos la utilidad net suministrada por samba.
netadsjoinUadministrador%contraseadelusuarioadministrador
UsingshortdomainnamePATRICIOLEON
Joined'PEUMO'torealm'PATRICIOLEON.CL'
Si todo a salido bien debieses obtener un mensaje como el anterior, para verificar que tu equipo este
activo en el dominio, revisa el panel de equipos de active directory y debiese aparecer el equipo que

acabas de unir, tambien en el dns debiese haber un registro host para el equipo recien unido al dominio.
Ahora que el equipo ha sido unido al dominio debes iniciar los servicios smb, nmb y winbind, con los
siguientes comandos:
servicewinbindstart
servicenmbstart
servicesmbstart

Testeo de coneccin con el dominio.


Ahora que has iniciado los servicios tu equipo ya tiene comunicacin con el dominio de windows,
entonces para testear ejecutaremos los siguientes comandos:
wbinfou # este comando muestra el listado de usuarios del dominio.
wbinfog # este comando muestra el listado de grupos del dominio.
netadsinfo # este comando muestra informacin de los servidores ldap y kerberos que esta
utilizando.
netadsstatus # este comando muestra la informacin relacionada con el equipo actual y el directorio
ldap.
getentpasswd#muestra el listado de usuarios locales, seguido del listado de usuarios de active
directory.
getentgroup #muestra el listado de los grupos localhost, seguido de los grupos de active directory.
por ultimo prueba a obtener informacin de los otros equipos del dominio usando el ticket kerberos
smbclientLacaciok# esto deberia mostrar los recursos compartidos de la maquina acacio,
ademas del sistema operativo del servidor
si todos los comandos anteriores te entregan informacin como resultado, la union de tu maquina al
dominio ha sido exitosa.

Configuracin del arranque de los servicios


Ahora que ya tenemos samba configurado para conectarse al dominio, debemos configurar los servicios,
generalmente samba y los servicios asociados a el (nmb y winbind), se configuraran para correr en los
niveles 3,4 y 5, en este caso usaremos chkconfig para configurarlos (ver articulo), entonces ejecutaremos
los siguientes comandos:
chkconfiglevel345smbon
chkconfiglevel345nmbon
chkconfiglevel345winbindon
Ademas de la seguridad entregada por el dominio de windows, se pueden agregar mas opciones de
seguridad como configurar y activar iptables, o tambien restringir las direcciones ip interfaces de red que
queremos que accedan a samba, en la pagina de samba(www.samba.org), existe bastante
documentacin sobre esto - en ingles.

Você também pode gostar