Samba como PDC





Instalación de un PDC usando SAMBA en Debian GNU/Linux 4(Etch).


Este manual contiene:

1-Introducción.
2-Instalando Samba.
3-Editando el fichero de configuración /etc/samba/smb.conf.
4-Secciones [netlogon] y [profiles].
5-Cuentas de confianza.Creación de los grupos en el servidor.
6-Creación de los usuarios en el servidor.
7-Uniendo las estaciones de trabajo Windows NT a nuestro nuevo dominio.


1-Introducción.


El controlador primario de dominio es un servidor que "gobierna" un dominio ya sea de Windows como de linux, en nuestro caso es para dominar las pc con windows. Lo que hace es centralizar la gestión de usuarios, identificándolos, gestionando sus perfiles y mandándoles procesos a realizar en
la conexión.


2-Instalando Samba.

podemos usar “aptitude, o apt-get install” para instalar Samba, primeramente editamos el fichero sources.list para actualizar nuestros espejos (mirrors).


luego : apt-get install samba samba-commo (cuando instalamos samba, sale una ventana pidiendonos el nombre de nuestro dominio), el cual pondremos en el fichero de configuracion)


despues de haber echo esto procedemos a configurar el fichero smb.conf



3-Editando el fichero de Configuración /etc/samba/smb.conf


Procedamos a editar el fichero de configuración de samba, antes de todo le hacemos una copia al original y

creamos uno nuevo y luego:


puede ser gedit, (si contamos con unentorno grafico), o nano o vi, si es por consola

por lo tanto seria

nano /etc/samba/smb.conf
tengamos en cuenta que mi dominio es:

dominio: jccec
nombre de la pc: servidor
string del servidor: Samba Server Debian


borramos todo lo que dice ese fichero y escribimos


#-----------------inicio del fichero-------------------------------------#

# Parámetros globales.


[global]

; Nombre del Dominio.
workgroup = jccec
; Nombre NETBIOS de la maquina.
netbios name = servidor
; String del Servidor.
server string = Samba Server Debian

; Rutas de los logs del Samba.
log file = /var/log/samba/%m.log
; Tamaño maximo de los logs
max log size = 1024

wins support = yes
os level = 65

; Hacemos Samba como PDC.
preferred master = yes
domain master = yes
local master = yes

; Samba como servidor de autenticacion de usuarios.
security = user
domain logons = yes

; Aceptamos contraseñas cifradas.
encrypt passwords = yes

; Script de inicio para los usuarios.
logon script = netlogon.bat

; Los perfiles se almacenaran en:
logon path = \\%L\profiles\%u

; Establece nivel de depuracion (0-9)
debug level = 2

; Ruta del recurso Home y con que unidad se mapeara
; logon drive = H

; logon home = \\%L\%u\.win_profile\%m
; Esto provoca que nmbd haga peticiones para nombres
; de maquinas usando dns si un nombre no es encontrado por
; wins
dns proxy = yes

; Conseguimos que los clientes sincronicen la hora
; con el servidor

time server = yes

; domain admin group = root, administrador

[netlogon]

comment = Network Logon Service
path = /var/lib/samba/netlogon
write list = root
browseable = no
public = yes
available = yes
writable = no

[profiles]

comment = Users profile share
path = /var/lib/samba/profiles
browseable = no
writable = yes
create mask = 0600
directory mask = 0700

[homes]

comment = Home Directories
writeable = no
browseable = no

[printers]

comment = All Printers
path = /var/spool/samba
printable = yes
browseable = no

#----------------fin del fichero-----------------------------#


aqui suponemos que en la seccion profiles, los user van a estar en /var/lib/samba/profiles
y el netlogon en:

/var/lib/samba/netlogon


4. Secciones [netlogon] y [profiles].


Este servicio sirve para ejecutar diversos scripts cuando se conecta un Windows al servidor. Los scripts son pequeños programas por lotes escritos desde Windows para ejecutar en Windows. Digo que hay que escribirlos en Windows por las diferentes formas de entender los retornos de carro de un sistema operativo a otro. Y digo que se ejecuta en Windows porque se trata de sencillas instrucciones (p.e. ponte en hora con respecto al servidor) que solo entiende MSWindows.

Sesion netlogon

Debemos crear el el directorio del netlogon de la siguiente forma:

Este servicio sirve para ejecutar diversos scripts cuando se conecta un Windows al servidor. Los scripts son pequeños programas por lotes escritos desde Windows para ejecutar en Windows. Digo que hay que escribirlos en Windows por las diferentes formas de entender los retornos de carro de un sistema operativo a otro. Y digo que se ejecuta en Windows porque se trata de sencillas instrucciones (p.e. ponte en hora con respecto al servidor) que solo entiende MSWindows.


Debemos crear el el directorio del netlogon de la siguiente forma:

mkdir /var/lib/samba/netlogon

Este directorio debe tener permiso 755 y dueño root. En el path copiamos el fichero netlogon.bat construido por nosotros. Si este fichero no existe, no importa pues samba sigue leyendo su configuración. De esta forma cuando se conecta alguien, se ejecuta el script netlogon.bat y ejecuta lo que deseemos (o podamos) en el cliente.

Solamente un apunte mas. Este recurso NO es estrictamente necesario para que funcione la cosa (el PDC), pues en todos los manuales que he visto me colocan esta sección como si fuera indudable su uso.

touch /var/lib/samba/netlogon/netlogon.bat

y escribir en el:

REM windows client login script
REM
net time \\SERVIDOR /SET /YES


Seccion [profile]

Esta seccion describe la ruta de los perfiles de los usuarios que se conectaran al servidor. O sea, para los que no están muy empapados con esto, es como el Documents and Settings de Windows.

Creamos el directorio con:

mkdir /var/lib/samba/profiles

El directorio profile debe tener acceso de escritura por todos (chmod 777) , porque cada ves que un usuario se conecta al servidor cargara su perfil, y al cerrar la sesión lo guardara con todas sus configuraciones para la próxima ves que inicie(Perfil Movil).

Las demas opciones establecen permisos y nivel de seguridad del perfil.


5-Cuentas de confianza.Creación de los grupos en el servidor.

Cuentas de confianza de las maquinas que tenemos en la red. Resulta que para crear un dominio Windows (es decir grupo de trabajo + PDC) en caso de clientes NT, W2000 y XP pro hay que crear lo que se llama cuentas de

confianza de las maquinas.

Esas cuentas de confianza es algo que podríamos definir como esta maquina y esta otra están en mis dominios.
No solamente los usuarios se autentican y se tienen en cuenta, sino que tambien las mismas maquinas han de ser tenidas en cuenta(ojo con el nombre NETBIOS. en los Windows 2000 y XP Profesional el nombre NETBIOS es el que aparece cuando damos clic derecho encima de Mi PC

Propiedades /Identificación de la Red ) Para ello hay que crear usuarios en Linux con el nombre NETBIOS de las clientes seguidos del símbolo de dolar ($).

Pasos:

a) Crearemos un grupo, para agrupar todas las computadoras del laboratorio , para tener nuestra red mas organizada.

groupadd laboratorios

b) Hay que crear un usuario Linux con el nombre NETBIOS de la maquina y (ojo con esto) seguido del símbolo $, sin shell, sin directorio home e integrado en un grupo. El nombre de la maquina lo obtenemos a través de Mi PC como explique anteriormente. Imaginemos el grupo que se llama laboratorios y la maquina se llame Maq1Lab1

useradd -­g laboratorios ­-d /dev/null ­-s /dev/null ­-c "Maq1Lab1" Maq1Lab1$

Si observamos el fichero /etc/passwd, veremos una entrada que empieza por lab1pc1$

que es la cuenta de la maquina. Hay que crear la cuenta de confianza a samba añadiendo a smbpasswd la maquina:


smbpasswd -­a -­m Maq1Lab1


y asi con las demas maquinas

Observa con cuidado que aquí no hace falta poner el símbolo de dolar. Hay que indicar, eso si, que se trata de una maquina (la opción ­m).
No va a pedir contraseñas. De esta misma manera creamos las cuentas de las demás maquinas.

6-Creación de los usuarios en el servidor

a) Para poder unir un cliente al dominio necesitamos una cuenta root para samba, que no debe de ser la misma del sistema:

smbpasswd ­-a root

(ojo) no debe de ser la paswordd del root, sino otra cualquiera,

/etc/init.d/samba restart

Vamos a la creación de los grupos de usuarios en nuestro dominio, para ellos debemos crear primero el grupo en el sistema mediante el siguiente comando:

groupadd winusers
groupadd winadmin
groupadd instructores
groupadd colaboradores
groupadd winguest

Ahora vamos a generar los grupos del dominio:

net groupmap add ntgroup="Domain Admins" unixgroup=winadmin rid=512 type=d
net groupmap add ntgroup="Domain Users" unixgroup=winusers rid=513 type=d
net groupmap add ntgroup="Domain Guests" unixgroup=winguest rid=514 type=d
net groupmap add ntgroup="Instructores" unixgroup=instructores rid=515 type=d
net groupmap add ntgroup="Colaboradores" unixgroup=colaboradores rid=516 type=d


Para chequear que lo que hicimos anteriormente esta correcto, damos el comando 
net groupmap list
y podremos observar los grupos creados del dominio.

A continuación vamos a asignarles los permisos de administracion al grupo Domain Admins.
Nota: Aqui JCCEC es mi dominio, ahi ponen el de ustedes

net rpc rights grant 'JCCEC\Domain Admins' SeMachineAccountPrivilege o
net rpc rights grant 'JCCEC\Domain Admins' \SeMachineAccountPrivilege o

net rpc rights grant 'DOMAIN\Domain Admins' SeMachineAccountPrivilege ­-S server -­U domadmin

passwd: pongo la del dominio

net rpc rights grant 'DOMAIN\Domain Admins' SeMachineAccountPrivilege
net rpc rights grant 'DOMAIN\Domain Admins' SePrintOperatorPrivilege
net rpc rights grant 'DOMAIN\Domain Admins' SeAddUsersPrivilege
net rpc rights grant 'DOMAIN\Domain Admins' SeRemoteShutdownPrivilege
net rpc rights grant 'DOMAIN\Domain Admins' SeDiskOperatorPrivilege
net rpc rights grant 'DOMAIN\Domain Admins' SeTakeOwnershipPrivilege

para comprobar los derechos asignados
net rpc rigts list -U root


A continuacion la tabla de privilegios:

Privilegio                                                                             Descripción

SeMachineAccountPrivilege                                        Unir estaciones a un dominio
SePrintOperatorPrivilege                                            Administrar impresoras
SeAddUsersPrivilege                                                  Agregar usuarios y grupos al dominio
SeRemoteShutdownPrivilege                                     Forzar apagado desde un sistema remoto
SeDiskOperatorPrivilege                                           Administrar particiones
SeTakeOwnershipPrivilege                                       Asignar permisos a objetos

6.1 Creación de los usuarios en el servidor.

A continuación vamos a crear las cuentas de los usuarios y añadirlos a sus respectivos grupos. Vamos a crear las cuentas de los usuarios de nuestro dominio.

Cuenta                  Grupo a que pertenece

pepito                    instructores
panchito                instructores
felito                      instructores
repepolin               colaboradores
godofredo              colaboradores


de esta FORMA

useradd -s /sbin/nologin -g (grupo) (usuario)


useradd ­-s /sbin/nologin ­-g instructores pepito
useradd -­s /sbin/nologin ­-g instructores panchito
useradd ­-s /sbin/nologin ­-g instructores felito
useradd ­-s /sbin/nologin -­g colaboradores repepolin
useradd ­-s /sbin/nologin ­-g colaboradores godofredo


TAMBIEN PUEDEN IR AL FICHERO /ETC/GROUP
Y DESPUES DE CADA GRUPO: PONER EL USUARIO


Les asignamos las contraseñas a cada de uno de ellos:


smbpasswd -a pepito
smbpasswd -a panchito
smbpasswd -a felito
smbpasswd -a repepolin
smbpasswd -a godofredo


7 Uniendo las estaciones de trabajo Windows NT a nuestro nuevo dominio.

Una ves realizados todos los pasos necesarios podemos proceder a unir los clientes windows al dominio de la siguiente forma:

clic derecho en mi PC/propiedades/Nombre del equipo

hacer clic en la pestana (cambiar)
poner el dominio y aceptar
si todo sale bien

le dira

Bienvenido al Dominio (dominio)

y les pedira reiniciar el equipo

ya pueden entrar con los user creados en el server





3 comentarios:

  1. exceltente tuto gracias a el pude migrar mi pdc de wintendo a linux

    ResponderEliminar
  2. gracias por compartir este excelente material.
    lo ejecutare en slackware

    ResponderEliminar
  3. ESTO ES UNA VAINA. VIVA MARSELOOOOOOOOOOO!!!!!!

    ResponderEliminar