openSUSE 11.1 como controlador de Dominio, la manera facil
Este es un ejemplo de un servidor openSUSE 11.1 configurado como PDC
usando samba, en este escenario era requerido un controlador de dominio
para una red de hasta 50 computadoras con Windows XP Professional SP-3
sin necesidad de un BDC por lo que se usara el backend tdbsam, de lo
contrario se tendría que usar LDAP, se usara wins para la resolución de
nombres, este servidor no funcionara como servidor de impresión por lo
que esas opciones no se explican, para evitar redundancia tampoco se
explican opciones ya planteadas previamente en el documento, también se
necesita el servicio de DHCP para asignar dinámicamente las direcciones
IP a las estaciones de trabajo y ofrecer el servidor wins, lo cual se
explica en otro tutorial.
Este es un ejemplo de un servidor openSUSE 11.1 configurado como PDC
usando samba, en este escenario era requerido un controlador de dominio
para una red de hasta 50 computadoras con Windows XP Professional SP-3
sin necesidad de un BDC por lo que se usara el backend tdbsam, de lo
contrario se tendría que usar LDAP, se usara wins para la resolución de
nombres, este servidor no funcionara como servidor de impresión por lo
que esas opciones no se explican, para evitar redundancia tampoco se
explican opciones ya planteadas previamente en el documento, también se
necesita el servicio de DHCP para asignar dinámicamente las direcciones
IP a las estaciones de trabajo y ofrecer el servidor wins, lo cual se
explica en otro tutorial.
¿Porque este escenario?
Porque este es el escenario mas comun con el que se encuentra un
administrador de redes y abarca una gran cantidad de empresas en el
ambito nacional, redes de 10 hasta 50 computadoras, de hecho el equipo
samba dice que el tdbsam se puede usar en redes con hasta 250 usuarios,
en cualquier otro escenario LDAP es la recomendacion.
¿Pero que rayos es un controlador de dominio?
Un Domain Controller contiene una base de datos de todos los usuarios y
las maquinas que son parte de nuestra red, de esta manera podemos
administrar los recursos y politicas de seguridad de manera centralizada
y esto nos permite tener un ambiente mas seguro.
Para comenzar debemos crear primero los usuarios easgs easgs1 easgs2
easgs3 (sustituya con el nombre que mas le convenga) en openSUSE usando
Yast.
**
Este es el archivo smb.conf completo el cual se encuentra en la ruta
/etc/samba y se puede editar usando kwrite.
[global]
workgroup = BLUE
netbios name = suse-blue
domain logons = yes
domain master = yes
local master = yes
os level = 65
preferred master = yes
security = user
logon path =
logon drive = P:
passdb backend = tdbsam
add machine script = /usr/sbin/useradd -c Machine -d
/var/lib/nobody -s /bin/false %m$
name resolve order = wins bcast host lmhost
server string = "opensuse"
printing = cups
printcap name = cups
printcap cache time = 750
cups options = raw
wins support = yes
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[profiles]
comment = Network Profiles Service
path = %H
read only = No
store dos attributes = Yes
create mask = 0600
directory mask = 0700
[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @ntadmin root
force group = ntadmin
create mask = 0664
directory mask = 0775
[netlogon]
comment = network logon service
path = /var/lib/samba/netlogon
write list = root
[datos]
comment = datos varios
force user = easgs
guest ok = No
inherit acls = Yes
path = /home/easgs/datos/
valid users = easgs easgs1 easgs2 easgs3
write list = easgs easgs1
read list = easgs2 easgs3
**
*Sección [Globals]*
La sección [globals] aparece en todos los ficheros de configuración de
Samba, aunque no es obligatoria su definición. Cualquier opción de esta
sección se aplicará al resto de recursos, como si los contenidos de la
sección se copiasen a todas las demás. Sólo una salvedad: otras
secciones pueden contener la misma opción pero con distinto valor; lo
último prevalece siempre sobre lo antiguo, así que ese último valor
prevalecerá sobre el establecido en la sección [globals].
*Workgroup = BLUE*
Esta opción establece el nombre de nuestro dominio a BLUE.
*Netbios name = suse-blue*
Este parámetro fija el nombre NetBIOS por el cual es conocido el
servidor Samba a suse-blue.
*Domain logons = yes*
Configura a Samba para aceptar accesos en el dominio actuando como PDC.
*Domain master = yes*
Activa la comparación de lista WAN. Este parámetro indica a nmbd que
solicite un nombre NetBIOS de dominio especial que lo identifica como
examinador principal del dominio para el grupo de trabajo dado. Los
examinadores locales del mismo grupo de trabajo dado en
subredes-aisladas proporcionan a este nmbd sus listas locales, y
solicitan a smbd una copia completa de la lista a la red amplia.
Entonces las listas de clientes contactan con sus servidores locales y
reciben una lista de la red amplia, en lugar de las listas de las subredes.
En pocas palabras mantiene una lista completa de todas las maquinas del
dominio.
*Local Master = yes*
Le indica al servidor a mantener una lista local de las maquinas de su
subred.
*Os level = 65*
Este entero controla el nivel en que se anuncia samba a si mismo para la
elección de examinador. El de este parámetro determina si nmbd tiene
oportunidad de convertirse en examinador principal del Grupo de Trabajo
en el área de difusión local.
Al poner el valor a 65 se asegura que ganara sobre cualquier otro
sistema operativo en la red
*Preferred master = yes*
Este parámetro booleano controla si Samba es un examinador principal de
listas principal para su grupo de trabajo.
Si se pone a yes, al iniciar, samba forzará una elección y tendrá una
ligera ventaja para ganar la elección. Es recomendable que este
parámetro se use en conjunción con domain master = yes, para que samba
pueda garantizar convertirse en un domain master.
Use esta opción con precaución, porque si hay varios hosts (servidores
samba, Windows 95 o NT) que son examinadores de listas preferidos en la
misma subred, intentarán continua y periódicamente convertirse en
examinador principal local. Esto ocasiona un tráfico de difusión
innecesario y reduce las capacidades de las listas.
*Security = user*
La seguridad a nivel de usuario es la configuración predeterminada para
Samba. Aún si la directriz security = user no está listada en el archivo
smb.conf, es utilizada por Samba. Si el servidor acepta la combinación
de nombre de usuario/contraseña del cliente, el cliente puede montar
múltiples recursos compartidos sin tener que especificar una contraseña
para cada instancia. Samba también puede aceptar solicitudes de nombre
de usuario/contraseña basadas en la sesión. El cliente mantiene
múltiples contextos de autenticación usando un único UID por cada inicio
de sesión.
**
*Logon path = *
Este parámetro indica el directorio home donde se guardan los ficheros
de perfiles (NTuser.dat para windows NT).
Esta opción toma las sustituciones estándar, permitiendo tener script de
conexión para cada usuario o máquina. También especifica el directorio
desde el cual se cargan los contenidos de las carpetas "escritorio",
"menú inicio", "programas" y "entorno de red" y se muestran en sus
clientes Windows NT.
El recurso y la ruta deben poderse leer por el usuario para que las
preferencias y los directorios sean cargados en los clientes Windows NT.
El recurso debe tener permiso de escritura, al menos la primera vez que
el usuario se conecta, para que los clientes Windows NT puedan crear el
fichero user.dat y otros directorios.
Los directorio y cualquiera de los contenidos, pueden, si se necesita,
ponerse como sólo lectura. No es conveniente que el fichero NTuser.dat
se haga de sólo lectura, renómbrelo como NTuser.man para llevar a cabo
los efectos deseados ( MANdatory profile).
Los clientes Windows algunas veces pueden mantener conexiones a los
recursos [homes], incluso si no hay usuario registrado. Por tanto es
vital que la ruta de logon no incluya una referencia a los recursos
homes (i.e \\%L\HOMESrofile_path causará problemas). .
Esta opción toma las sustituciones estándar, permitiendo tener script de
conexión para cada usuario o máquina.
Tenga en cuenta que esta opción sólo es válida si Samba está configurado
como logon server.
Para deshabilitar los perfiles móviles esta opción se deja sin definir,
de esta manera se forzara a Windows a crear el perfil en la maquina
local que es el caso de nuestro ejemplo, bajo Windows Xp esto se puede
verificar en propiedades de la PC, opciones avanzadas, perfiles de
usuarios configuración, en el campo tipo debe de decir local.
*Logon drive = F:*
Mapea la carpeta home del usuario a la unidad F: cabe mencionar que
puede ser cualquiera siempre y cuando no entre en conflicto con una
existente, al dar doble clic sobre el icono de Mi Pc nos aparecerá esta
unidad.
*Passdb backend = tdbsam*
Esta opción permite al administrador elegir qué sistema o backend usa
para guardar y recuperar contraseñas. Permite, por ejemplo, usar
smbpasswd y tdbsam sin recompilar. Se pueden especificar múltiples
backends separados por espacios. Los backends se usan en orden en el que
se especifican. Los nuevos usuarios siempre se añaden al primer backend
especificado, en nuestro ejemplo se usar tdbsam.
*Add machine script = /usr/sbin/useradd --c Machine --d /var/lib/nobody
--s /bin/false %m$*
Esta es la ruta completa a un guión que smbd(8) ejecutará cuando
agregue una máquina a su dominio usando el método con las contraseñas y
claves del administrador.
En este ejemplo se creara la cuenta de la maquina usando el nombre
netbios de la misma junto con el carácter $ en el archivo de passwords,
también se pondrá el comentario Machine y lo agregara al grupo users que
es el predeterminado para opensuse, después que unamos una maquina si
revisamos nuestra lista de usuarios Linux y samba tendremos la nueva
entrada con el nombre de la maquina con el carácter $ al final.
*Name resolve order = wins bcast host lmhost *
Esta opción se usa en los programas de Samba para determinar qué
servicios de nombres y en qué orden resolver nombres de hosts a
direcciones IP. Su principal función es controlar como se realiza la
resolución NetBIOS. Esta opción toma una cadena, separada por espacios,
de diferentes opciones de resolución.
Las opciones son "lmhosts", "host", "wins" y "bcast". Hacen que los
nombres se resuelvan de la siguiente forma:
*lmhosts :* Busca una dirección IP en el fichero lmhosts de Samba. Si la
línea de lmhosts no tiene tipo de nombre adjuntado al nombre NetBIOS
(vea lmhosts(5)) entonces vale cualquier tipo para la búsqueda.
*host :* Hace una resolución de nombre de host a dirección IP usando el
sistema de resolución del sistema /etc/hosts , NIS, o búsquedas DNS.
Este método de resolución depende del sistema operativo (por ejemplo, en
IRIX o Solaris esto puede ser controlado por el fichero
/etc/nsswitch.conf). Observe que este método se usa sólo si el tipo de
nombre NetBIOS consultado es tipo 0×20 (server) o nombre tipe 0×1c
(controladores de dominio). El último caso es sól útil para dominios
Active directory y resultan de una consulta para la entrada SRV RR
queverifique _ldap._tcp.domain.
*wins*: Pregunta por un nombre en la dirección IP address indicada en el
parámetro wins server. Si no se ha especificado servidor WINS, este
método se ignora (no se debería usar wins si no se cuenta con mas de una
subred).
*bcast* : Efectúa una difusión (broadcast) en cada interfaz local
conocido listado en el parámetro interfaces = . Este es el método de
resolución menos seguro ya que depende de los hosts que están conectados
en la red local.
*Server String ="opensuse"*
**
Esto controla qué cadena aparecerá en el cuadro de comentario de la
impresora en el gestor de impresión y en la conexión IPC en "net view".
Puede ser cualquier cadena que quiera que vean sus usuarios y es la
descripción de su equipo en el entorno de red.
*Wins support = yes*
Este parámetro booleano controla si Samba actúa como servidor WINS. No
debería ponerlo como yes salvo que tenga una red multi-sub-red y quiera
que un nmbd particular sea su servidor WINS. Tenga en cuanta que NUNCA
debería poner esto como true en más de una máquina de su red. .
*La sección [homes]*
Si existe una sección denominada [homes] incluida en el fichero de
configuración, los clientes se podrán conectar a su directorio HOME del
servidor.
*Comment = Homes directories*
Descripción del servicio
*Valid users = %S, %D%w%S*
Significa que para los usuarios validos se tomaran del valor del
servicio actual o el nombre del dominio o grupo de trabajo del usuario
actual, nadie más podrá entrar.
*Browseable = no*
**
Significa que los usuarios no podrán navegar en el recurso a través del
entorno de red pero si podran ver el recurso homes, cuando se configura
a *yes* en el entorno de red aparecen dos recursos compartidos unos con
el nombre del usuario y otro llamado homes.
*Read only = no*
Por defecto samba siempre configura cualquier directorio como de solo
lectura por razones de seguridad, por lo tanto debemos indicarle que
queremos ser capaces de escribir en este directorio.
*Inherit acls = yes*
Este parámetro se puede usar para asegurar que si existen ACL
predeterminadas en el directorio padre, estas se asignan cuando se crean
subdirectorios. El comportamiento predeterminado es usar el modo
especificado cuando se crea un directorio. Al activar esta opción fija
el modo 0777, así garantiza que el las acl predeterminadas del
directorio se propagan.
Las ACL son listas que le dicen al sistema operativo u otros
dispositivos de red que permisos tiene cada usuario sobre cada objeto en
una computadora o dispositivo de red.
*Seccion [Profiles]*
Es una sección especial que define parámetros para perfiles de red de
los usuarios.
*Path = %H*
Es la ruta dada por el nombre del directorio home del usuario obtenido
por %u que es el nombre del servicio actual.
*Store dos attributes = yes*
Esta opción le indica a samba usar el atributo extendido "userDOSATTRIB"
para almacenar los permisos ocultos del sistema de archivos DOS "hidden"
y "system".
*Create mask = 0600*
Cuando se crea un fichero, los permisos necesarios se calculan de
acuerdo con la asociación de los modos DOS a los permisos UNIX, y los
modelos UNIX resultantes son una AND bit a bit con este parámetro. Este
parámetro es una máscara de bits para los modelos UNIX. Cualquier bit no
puesto se elimina del conjunto cuando se crea un fichero.
En este caso el propietario tendrá derecho de lectura y escritura y le
quitara todos los privilegios a los demás.
*Directory mask = 0700*
Este parámetro es el modo octal que se usa cuando se convierte el modo
DOS al modo UNIX al crear directorios UNIX.
Cuando se crea un directorio, los permisos necesarios se calculan de
acuerdo con la traducción de los modos DOS a los permisos UNIX, y el
modo UNIX resultante es un AND de los bits correspondientes con este
parámetro. Este parámetro puede ser un máscara de bits para los modos
UNIX de un directorio. Cualquier bit not puesto aquí se elimina de los
modos del directorio cuando se crea.
En este caso el propietario tendrá derechos de lectura escritura y
ejecución y les quitara todos los privilegios a los demás.
*Sección [netlogon]*
Aquí especificamos dónde está el netlogon.
*Path= /var/lib/samba/netlogon*
Dentro de esta carpeta debemos ubicar los archivos logon script en caso
que deseemos usar uno
*Write list = root*
Esto significa que solo el administrador tiene acceso de lectura a este
recurso nadie mas.
*Recurso compartido [datos]*
*Force user = easgs*
Esta opción fuerza que los usuarios que se logean al servicio lo hagan
como el usuario easgs por lo tanto todo lo que hagan será con los mismo
derechos de este usuario.
*path = /home/easgs/datos/***
El recurso compartido se encuentra en la carpeta home del usuario easgs.
*Guest ok = no*
Si este parámetro es yes para un servicio, entonces no se requiere clave
para conectar con dicho servicio. Los privilegios serán los mismos de
guest account.
En este caso no permitiremos eso.
*Valid users = easgs easgs1 easgs2 easgs3*
Estos usuarios son los únicos permitidos para usar este recurso.
**
*Write list = easgs easgs1*
Estos usuarios son lo únicos permitidos para escribir en este recurso.
*Read list = easgs2 easgs3*
**
Estos usuarios solo tienen permiso de lectura en este recurso.
*Agregar los usuarios a samba**.*
Para que esto funcione primero debemos crear los usuarios en Linux
usando yast (lo cual ya hicimos al inicio de este documento), luego
ejecutamos el siguiente comando por cada usuario para agregarlo a samba.
pdbedit --a easgs
*Mapear los grupos UNIX a grupos Windows.*
Cuando unimos una maquina con Windows XP a un controlador de dominio de
la gama se servidores Windows server y queremos compartir un recurso
tenemos la opción de agregar los grupos domain users u otros para
abarcar todos esos usuarios, para tal efecto, en samba ejecutamos los
siguiente lo cual es mandatorio al menos para estos tres grupos.
net groupmap add ntgroup="Domain Admins" unixgroup=root rid=512
net groupmap add ntgroup="Domain Users" unixgroup=users rid=513
net groupmap add ntgroup="Domain Guests" unixgroup=nobody rid=514
Esto hará que el grupo detectado por la estación Windows como Domain
Users sea en verdad el grupo UNIX users, y tomara todos los usuarios de
dicho grupo siempre y cuando existan en el password backend de samba.
*El FIREWALL*
**
Para que esto funcione debemos habilitar en el firewall los servicios
samba server, DHCP, y Netbios
El uso del servidor DHCP nos ahorra el trabajo de estar configurando
manualmente los protocolos TCP/IP en cada maquina, lo unico que
tendremos que hacer es unir las estaciones con Windows XP a nuestro
server a como lo hariamos con cualquier controlador de dominio con
Windows server 2003 o 2008.
Con esto ya tenemos funcionando nuestro servidor samba como controlador
de dominio.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL:
<http://listas.jovenclub.cu/pipermail/gutl-l/attachments/20111110/fe7ca3fe/attachment.htm>
______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l