[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Unir terminal linux Debian "etch" a Directorio Activo deWindows NT2003 con Kerberos 5



El jue, 19-10-2006 a las 16:30 -0300, Angel Claudio Alvarez escribió:
> El jue, 19-10-2006 a las 15:20 -0300, Javier Debian - BBca - AR
> escribió:
> > Estimadísimos:
> > 
> > Estoy tratando de unir una terminal con linux Debian "etch" a un Directorio
> > Activo de Windows NT2003 y tengo problemas.
> > 
> > NT2003 maneja Kerberos 5 (Win98 y WinNT4 deben cargar un parche para poder
> > enetenderse), y como verán más abajo, no tengo problemas por ese lado, si no
> > que estos empiezan al tratar de enlazar la terminal, con la que puedo
> > navegar sin problemas la red a través de samba.
> > 
> > El principal inconveniente es que no soy el administrador de red, y los que
> > lo son, están nulificados por Windows.
> > 
> > 
> > 
> > He bajado información de www.nuxified.org, uclm.es y algunos otros lugares,
> > y todo lo que intento, ha fallado.
> > 
> > 
> > 
> Tenes que ser administrador para poder meter maquinas en el dominio
> o por lo menos te tiene que dar ese privilegio
> 
Te rectifico Angel, tenias que ser administrador antes, ya no es así,
después de la version 3.0 el samba y otras dos herramientas ya se puede
unirte a un dominio NT.

javier no te voy a torturar diciendote que busques en internet pq es
tarea ardua esta de recopilar toda la información para lograrlo. Te
Envio un manual que hicieron aquí.

apt-get install samba krb5-user winbind

Kerberos (Krb5-user)
Para la autentificación, AD utiliza Kerberos. Nuestro dominio de AD se
llama “MI:DOMINIO.CU”. Para ello iremos al siguiente archivo
‘/etc/krb5.conf y busquen los siguientes textos modifíquenlos como lo
dejo a continuación:

[libdefaults]
default_realm = MI.DOMINIO.CU

[realms]
MI.DOMINIO.CU = {
kdc = 10.0.0.4
admin_server = 10.0.0.4
default_domain = MI.DOMINIO.CU
}

[domain_realms]
.MI.DOMINIO.CU = MI.DOMINIO.CU
MI.DOMINIO.CU = MI.DOMINIO.CU

En kdc indicamos la IP del controlador de nuestro dominio. El resto de
datos, lo modificamos conforme a los datos de nuestro dominio,
respetando las mayúsculas y los puntos. Durante la instalación
seguramente les pide además quien es el administrador de servidor
kerberos le ponen igual que anteriormente el nombre nuestro dominio
“MI.DOMINIO.CU”.
Nota: Solo modificar las líneas que les e indicado, no tocar las demás!,
respetar las mayúsculas y fijarse en los puntos.
Winbind
Ahora vamos a permitir que usuarios de la red AD se conecten a nuestros
recursos de Samba. Para ello el sistema debe conocer cuáles son esos
usuarios. De eso se encarga winbind. Para que funcione correctamente
debemos configurar el DNS del sistema y el servicio de nombres de
nuestro sistema. Debemos usar como DNS y como dominio DNS los mismos que
tengamos en nuestra red Windows. Nuestro archivo 

/etc/resolv.conf debe quedar así:
#/etc/resolv.conf
search MI.DOMINIO.CU
nameserver 10.0.0.3       #este es nuestro DNS
domain MI.DOMINIO.CU

-----------------------------------------------------------------------------------------------------------------------------
Al archivo /etc/nsswitch.conf, que es el encargado de establecer cuales
son nuestras bases de datos de usuario, debemos añadirle que busque en
winbind. Modificamos el inicio del archivo para que quede algo así:

#/etc/nsswitch.conf
passwd: compat winbind
group: compat winbind
shadow: compat
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis

Este archivo indica a los paquetes que así lo solicitan, que se
autentiquen
mediante el demonio winbindd.
(Nota: el paquete se llama winbind, el demonio, winbindd)
Samba :
Cada vez nos queda menos, ahora vamos a configurar Samba para utilizar
nuestra red Windows. Editamos el archivo de configuración añadiendo o
modificando los siguientes campos:
/etc/samba/smb.conf

[global]
log file = /var/log/samba/log.%m
obey pam restrictions = Yes
auth methods = winbind
encrypt passwords = yes
update encrypted = Yes
realm = MI.DOMINIO.CU
winbind uid = 10000-25000
dns proxy = No
netbios name = redes-10
netbios aliases = redes-10
server string = redes-10
password server = SERVER1.MI.DOMINIO.CU, SERVER2.MI.DOMINIO.CU,
SERVER3.MI.DOMINIO.CU, *
invalid users = root
winbind enum users = yes
winbind gid = 10000-25000
workgroup = MI.DOMINIO
winbind enum groups = yes
os level = 0
preferred master = No
domain master = No
security = ads
winbind separator = +

Explicare que significa cada opción. Aunque más o menos se puede
entender:

realm: Indica el árbol de AD al que nos conectamos.
domain: Indica el dominio de trabajo, para equipos anteriores a Windows
2000.
password server: Indica quien es el servidor de claves. Poniendo * le
indicamos que se encargue él mismo de averiguarlo, yo especifico los
servidores de nuestra Universidad (SERVER1, SERVER2, SERVER3) . Lo
consigue a través de una consulta al DNS, así que es importante que
hayamos puesto como DNS los que utiliza AD, simplemente copiar la
configuración tal y como la pongo en este documento.
security: Indica que la máquina se va a configurar como un host de AD.
Niveles de seguridad: share, user, server, domain, ads.
winbind separator: Es importante hacer notar que Windows utiliza la
barra invertida ‘\’ como separador del dominio y el usuario. *nix no
puede utilizar ese carácter (esto es en caso de que queramos usar la PC
linux para dejar autenticase con mismo hacemos en windows, al
especificar el dominio “MI.DOMINIO”), por lo que es conveniente utilizar
otro, como por ejemplo ‘+’ en nuestro caso. Así un usuario identificado
en Windows como DOMINIO\usuario, en nuestro equipo aparecería como
DOMINIO+usuario. Es importante saberlo para cuando vayamos a establecer
los permisos en los recursos compartidos (OJO).
os level: indica que nivel tiene nuestra PC en la red, el valor 0 indica
que es una PC como otra cualquiera, en caso de que cambiáramos el nivel,
anuncia nuestra PC como un servidor WINS, o como servidor de claves, eh
incluso aumentando aun mas el nivel puede llegar a ser controlador de
dominio, valores de ejemplo -> 20, 70, nosotros ponemos 0.
domain master: especificar “no”, para decir que no somos controladores
de dominio AD.
netbios name = redes-10 (pongan el nombre de su PC en esta opción,
opcional, dar el mismo valor a las demás ).
netbios aliases = redes-10 (************)
server string = redes-10 (************)
auth methods : método de autentificación “winbind”
winbind uid y winbind gid : alto como para no colisionar con los
usuarios UNIX
Las demás configuraciones deben saber mas o menos su significado, pues
el que lea este manual debe tener cierto conocimiento sobre linux, si no
saben solo cópienla con mismo esta en su fichero smb.conf.
Ahora vamos a iniciar el proceso para integrar nuestra PC al AD
Configurar la hora del sistema
Para que nuestro equipo, o los demás equipos, puedan compartir recursos
entre sí, es importante que todos tengan la misma hora, con un desfase
máximo de 5 minutos (realmente este parámetro es configurable en la
política de seguridad del dominio). Es un requisito impuesto por
Kerberos.
Para sincronizar nuestro reloj ejecutamos la siguiente orden:
redes-10:/# net time set
mar jul 11 23:59:18 CDT 2006
Sería recomendable poner esta orden en el Cron para que se ejecutara
regularmente, y asegurarnos así que el equipo siempre está en la hora
correcta.
Por fin, añadiendo el equipo al Directorio Activo
Ya estamos preparados para ingresar en el dominio.

Primero autenticarnos al dominio. Ejemplo: kinit usuario@MI.DOMINIO.CU
redes-10:/# kinit pepe@MI.DOMINIO.CU
Password for pepe@MI.DOMINIO.CU: (*************) password del dominio

Después…unir la PC al dominio.

Ejemplo: net ads join --debuglevel=10 -U pepe

net ads join --debuglevel=10 -U <account>

Les mostrara muchos mensajes de la configuración del servidor samba,
(seria conveniente que la vieran). Al final muestra algo como esto:
Netbios name list:-
my_netbios_names[0]="REDES-10"
[2006/07/12 00:14:28, 2] lib/interface.c:add_interface(81)
added interface ip=10.3.5.245 bcast=10.3.5.255 nmask=255.255.255.0
dpolanco's password: (*************) <--- su password de dominio.

al final deberia mostrar con com ultimo mensaje 
“joined "Maquina" to domain 'MI.DOMINIO' ” o algo asi, en caso de que no
sea este el mensaje revisar, puede que el nombre de su PC ya este en el
dominio o usted no tiene permiso para unir PCs al AD.
Solucion: cambie el nombre de su PC, y en segunda opción pida a otro
usuario con privilegios que “entre” la PC al dominio.
Si todo sale bien, muestra “joined to domain 'MI.DOMINIO' ”
nota: Desde la consola, y como root, ejecute los siguientes comandos
para que se
capturen los cambios introducidos. ¡Recuerde que usted usa GNU/Linux y
no
tiene que reiniciar la máquina!

redes-10:/# /etc/init.d/winbind restart
redes-10:/# /etc/init.d/samba restart
Pruebe a ejecutar estos comados:
redes-10:/# wbinfo -u muestra los usuarios de nuestro AD
redes-10:/# wbinfo -g muestra los grupos
redes-10:/# wbinfo -m muestra una lista de dominios
redes-10:/# getent passwd devuelve las entradas creadas en el fichero
“passwd”

/etc/passwd de linux, a continuación muestro ejemplo de una de las
entradas creadas.
......
MI.DOMINIO+pepe:x:20676:10001:dionner polanco
noy:/home/MI.DOMINIO/pepe:/bin/false
......
Crea una para cada usuario del dominio, esto demora un poco. (tengan
paciencia).
redes-10:/# net rpc testjoin -S SERVER1 <----- pruebe además este
comando (SERVER1, creo que es el primer controlador de dominio nuestro.)

Join to 'MI.DOMINIO' is OK
Por ultimo realizar la configuración de los ficheros PAM.
En este directorio están todos los ficheros necesitamos, 

/etc/pam.d
Modifique los ficheros tal y como muestro a continuación.

/etc/pam.d/common-account

account sufficient pam_winbind.so
account required pam_unix.so

/etc/pam.d/common-auth

auth sufficient pam_winbind.so
auth required pam_unix.so nullok_secure use_first_pass

/etc/pam.d/common-password

(modificar esta linea y dejarla como la pongo aqui)
password required pam_unix.so nullok obscure min=4 max=30 md5

Si ha hecho todo lo dicho hasta aqui, ya esta en condiciones de
compartir cualquier carpeta a los usuarios de nuestro dominio, pues
ahora su PC esta configurada correctamente para autenticar todos los
usuario. Por ultimo solo me queda por preguntar si usa webmin?
(Se lo recomiendo), si es asi, va ser mas fácil para usted la
administración del samba.
Bueno solo me despido y pido que cualquier duda o sobre este manual,
enviar preguntas al

---------------------------------------------------------
por ultimo para poder logearse por la pantalla de inicio de seccion
modificar el fichero /etc/pam.d/gdm, aunque no lo eh probado lo publico
para que alguien me diga si funciona, saludos 

# /etc/pam.d/gdm

auth required /lib/security/pam_securetty.so
auth required /lib/security/pam_nologin.so
auth sufficient /lib/security/pam_winbind.so
auth required /lib/security/pam_pwdb.so use_first_pass shadow nullok
account required /lib/security/pam_winbind.so
session required /lib/security/pam_mkhomedir.so skel=/etc/skel
umask=0022 



El gdm:
# /etc/pam.d/gdm

auth required pam_securetty.so
auth required pam_nologin.so
auth sufficient pam_winbind.so
auth required pam_pwdb.so use_first_pass shadow nullok
account required pam_winbind.so
session required pam_mkhomedir.so skel=/etc/skel umask=0022

Suerte
-- 
Marcel Sánchez Góngora 
Debian Etch GNU/Linux 
Linux User #382151 
Est. III año 
Universidad de las Ciencias Informáticas 
"Lo esencial es invisible para los ojos..." 

Attachment: signature.asc
Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada digitalmente


Reply to: