<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="gl">
	<id>http://web.iesrodeira.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Autenticaci%C3%B3n_Linux_cun_Controlador_de_Dominio_Windows</id>
	<title>Autenticación Linux cun Controlador de Dominio Windows - Historial de revisións</title>
	<link rel="self" type="application/atom+xml" href="http://web.iesrodeira.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Autenticaci%C3%B3n_Linux_cun_Controlador_de_Dominio_Windows"/>
	<link rel="alternate" type="text/html" href="http://web.iesrodeira.com/mediawiki/index.php?title=Autenticaci%C3%B3n_Linux_cun_Controlador_de_Dominio_Windows&amp;action=history"/>
	<updated>2026-09-13T13:54:01Z</updated>
	<subtitle>Historial de revisións desta páxina no wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>http://web.iesrodeira.com/mediawiki/index.php?title=Autenticaci%C3%B3n_Linux_cun_Controlador_de_Dominio_Windows&amp;diff=1824&amp;oldid=prev</id>
		<title>Xavi: Nova páxina: &quot;== INTRODUCCIÓN ==  O obxectivo deste tutorial é explicar como se pode configurar unha equipa Linux pra que realice a autenticación dos usuarios mediante un PDC (Primary Domain...&quot;</title>
		<link rel="alternate" type="text/html" href="http://web.iesrodeira.com/mediawiki/index.php?title=Autenticaci%C3%B3n_Linux_cun_Controlador_de_Dominio_Windows&amp;diff=1824&amp;oldid=prev"/>
		<updated>2014-06-26T09:13:04Z</updated>

		<summary type="html">&lt;p&gt;Nova páxina: &amp;quot;== INTRODUCCIÓN ==  O obxectivo deste tutorial é explicar como se pode configurar unha equipa Linux pra que realice a autenticación dos usuarios mediante un PDC (Primary Domain...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Páxina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== INTRODUCCIÓN ==&lt;br /&gt;
&lt;br /&gt;
O obxectivo deste tutorial é explicar como se pode configurar unha equipa Linux pra que realice a autenticación dos usuarios mediante un PDC (Primary Domain Controller), xa sexa un ordenador Windows 2000/NT ou un Linux/Unix con samba. A autenticación en rede pode realizarse de varios xeitos, como NIS, NIS+ ou Kerberos, aínda que este documento únicamente trata a autenticación mediante PDC. Nos seguintes apartados se comentará como configurar unha equipa con Linux pra que autentifique os seus usuarios mediante un PDC si o usuario non está de alta no sistema local (/etc/passwd e /etc/shadow), xa que en ese caso se realizará unha autenticación tradicional. Tamén se comentará o xeito de mapear os usuarios do PDC a usuarios locais UNIX asignándolles un UID (número de usuario) e un GID (número de grupo) e como crear automáticamente os homes dos usuarios.&lt;br /&gt;
&lt;br /&gt;
== WINBIND. ==&lt;br /&gt;
&lt;br /&gt;
O demo &amp;#039;&amp;#039;&amp;#039;winbindd&amp;#039;&amp;#039;&amp;#039; permite a unha equipa Linux formar parte dun dominio Windows NT/2000, e como membro do dominio ver os usuarios e grupos NT/2000 como si fosen usuarios Linux. O resultado final é que cando un programa no sistema Linux (por exemplo &amp;#039;&amp;#039;login&amp;#039;&amp;#039;) necesita autenticación de usuario, o sistema operativo pode realizala mediante o PDC. Os nomes de usuario terán a forma &amp;#039;&amp;#039;&amp;#039;DOMINIO/usuario&amp;#039;&amp;#039;&amp;#039; e &amp;#039;&amp;#039;&amp;#039;DOMINIO/grupo&amp;#039;&amp;#039;&amp;#039;, sendo posible elexir o caracter pra separar o dominio do nome de usuario ou grupo (neste caso /). A equipa de programación de Samba implementou as chamadas RPC (Remote Procedure Call) de Windows necesarias pra manexo remoto, autenticación e spool de impresión, esto permite listar os usuarios e grupos, obter información detallada sobre os mesmos, autenticar usuarios contra o PDC e cambiar a password dos usuarios do PDC dende unha máquina Linux. Winbind mapea automáticamente a información das contas no NT/2000 a usuarios e grupos Linux.&lt;br /&gt;
&lt;br /&gt;
== NSS (&amp;#039;&amp;#039;Name Service Switch&amp;#039;&amp;#039;). ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NSS&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;Name Service Switch&amp;#039;&amp;#039;) é unha característica de moitos sistemas UNIX que permite obter información sobre nomes de hosts, alias de correo e información sobre os usuarios a partir de distintas fontes de información, por exemplo dende ficheiros de texto no sistema local, dun servidor NIS ou dun servidor DNS. NSS permite polo tanto a winbind actuar coma un proveedor de información NSS que resolve nomes de usuarios e grupos. Gracias a esto é posible obter os usuarios e grupos mediante chamadas UNIX estándar como si se tratara de usuarios e grupos locais. O ficheiro de configuración de NSS é &amp;#039;&amp;#039;&amp;#039;/etc/nsswitch.conf&amp;#039;&amp;#039;&amp;#039;. Cando un sistema UNIX fai unha petición búscase en este ficheiro unha liña que coincida co servicio solicitado, por exemplo &amp;#039;&amp;#039;passwd&amp;#039;&amp;#039; cando se buscan usuarios ou grupos. Esta liña especifica que proveedor de información vai a resolver a petición e en qué orde. Por exemplo:&lt;br /&gt;
&lt;br /&gt;
    passwd  files  example&lt;br /&gt;
&lt;br /&gt;
Con esta liña se intentará a carga de &amp;#039;&amp;#039;&amp;#039;/lib/libnss_files.so&amp;#039;&amp;#039;&amp;#039; pra realizar a autenticación, e se falla o intentará con &amp;#039;&amp;#039;&amp;#039;/lib/libnss_example.so&amp;#039;&amp;#039;&amp;#039;. Winbind proporciona o módulo &amp;#039;&amp;#039;&amp;#039;libnss_winbind.so&amp;#039;&amp;#039;&amp;#039; que ten que estar situado no directorio /lib.&lt;br /&gt;
&lt;br /&gt;
== PAM (&amp;#039;&amp;#039;Pluggable Authenticate Modules&amp;#039;&amp;#039;). ==&lt;br /&gt;
&lt;br /&gt;
Mediante os módulos PAM é posible especificar distintos métodos de autenticación pra diferentes aplicacións do sistema sen necesidade de recompilalas, ademáis da ofrecer a posibilidade de elexir entre varias políticas de autorización. Por exemplo pódese configurar o sistema pra permitir logins na consola so ós usuarios que estén en /etc/passwd, e acceder mediante telnet únicamente ós usuarios autenticados mediante NIS. Winbind utiliza o interface PAM pra integrar ós usuarios NT no sistema Linux permitindo a autenticación contra un PDC ou cambiar a password dos usuarios no PDC. Pra facer esto Winbind proporciona un módulo chamado &amp;#039;&amp;#039;&amp;#039;pam_winbind.so&amp;#039;&amp;#039;&amp;#039; que debe estar situado no directorio /lib/security.&lt;br /&gt;
&lt;br /&gt;
== MANEXO DOS UIDs e GIDs. ==&lt;br /&gt;
&lt;br /&gt;
Os usuarios e grupos NT usan un identificador numérico chamado RID que é distinto do rango de números utilizado polos sistemas Linux/Unix para os usuarios e os grupos. É responsabilidade de winbind a conversión entre os RIDs de Windows e os UIDs e GIDs Linux. No momento da configuración é necesario especificar un conxunto de IDs numéricas entre os que escollerá winbind pra facer o mapeo de usuarios. Este mapeo de usuarios vaise facendo dun xeito secuencial según van iniciando sesión os usuarios por primeira vez, e se almacena nunha base de datos local. Pra optimizar o uso do ancho de banda da rede a información dos usuarios (como a password) almacénase nunha caché local utilizando unha clave suministrada polo PDC. Cando a información do usuario cambia o PDC incrementa esa clave. Winbind compara as claves local e a enviada polo PDC pra detectar cando expira a caché coa información dos usuarios.&lt;br /&gt;
&lt;br /&gt;
== INSTALACIÓN. ==&lt;br /&gt;
&lt;br /&gt;
Pra facer uso de winbind é necesario ter instalado e funcionando samba no equipo.&lt;br /&gt;
&lt;br /&gt;
=== Configuración NSS ===&lt;br /&gt;
&lt;br /&gt;
O arquivo &amp;#039;&amp;#039;libnss_winbind.so&amp;#039;&amp;#039; ten que estar situado no directorio /lib e con permiso de execución universal. Tamén pode ser necesario un enlace simbólico ([link|L) chamado &amp;#039;&amp;#039;libnss_winbind.so.2&amp;#039;&amp;#039; correspondendo o &amp;#039;&amp;#039;2&amp;#039;&amp;#039; á versión de glibc que se esté a utilizar (si se estivera usando glibc 1, o enlace sería libnss_wonbind.so.1). No ficheiro &amp;#039;&amp;#039;&amp;#039;/etc/nsswitch.conf&amp;#039;&amp;#039;&amp;#039; é necesario modificar as liñas axeitadas pra que queden do seguinte modo:&lt;br /&gt;
&lt;br /&gt;
     passwd:  files   winbind&amp;lt;br /&amp;gt;    shadow:  files&amp;lt;br /&amp;gt;    group:   files   winbind&lt;br /&gt;
&lt;br /&gt;
=== Configuración de smb.conf ===&lt;br /&gt;
&lt;br /&gt;
No arquivo &amp;#039;&amp;#039;smb.conf&amp;#039;&amp;#039; situado normalmente en &amp;#039;&amp;#039;/etc/samba&amp;#039;&amp;#039; é necesario poñer as seguintes liñas na sección [global]:&lt;br /&gt;
&lt;br /&gt;
    winbind separator = +&amp;lt;br /&amp;gt;   winbind uid = 10000-20000&amp;lt;br /&amp;gt;   winbind gid = 10000-20000&amp;lt;br /&amp;gt;   winbind enum users = yes&amp;lt;br /&amp;gt;   winbind enum groups = yes&amp;lt;br /&amp;gt;   template homedir = /home/%D/%U&amp;lt;br /&amp;gt;   template shell = /bin/bash&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;winbind separator&amp;#039;&amp;#039; especifica o separador a utilizar entre o dominio é o nome de usuario. Neste caso o usuario tomará a forma DOMINIO/usuario.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;winbind uid&amp;#039;&amp;#039; e &amp;#039;&amp;#039;winbind gid&amp;#039;&amp;#039; indican o rango de valores que se colle pra facer o mapeo de usuarios entre o RID e o UID e GID.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;winbind enum users&amp;#039;&amp;#039; e &amp;#039;&amp;#039;winbind enum groups&amp;#039;&amp;#039; indica si se permite o listado dos usuarios e grupos do PDC. Pode desactivarse pra mellora-lo rendemento.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;template homedir&amp;#039;&amp;#039; e &amp;#039;&amp;#039;template shell&amp;#039;&amp;#039; especifican respectivamente o &amp;#039;&amp;#039;&amp;#039;home&amp;#039;&amp;#039;&amp;#039; dos usuarios e o [modules.php?op=modload&amp;amp;name=phpWiki&amp;amp;file=index&amp;amp;pagename=S shell] a utilizar nas sesións interactivas (ssh, telnet, login ...).&lt;br /&gt;
&lt;br /&gt;
=== Unión o PDC (Primary Domain Controller). ===&lt;br /&gt;
&lt;br /&gt;
Pra unir o equipo ó dominio servido polo PDC se utiliza o seguinte comando:&lt;br /&gt;
&lt;br /&gt;
   &amp;#039;&amp;#039;smbpasswd -j DOMINIO -r PDC -U Administrador&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Donde &amp;#039;&amp;#039;Administrador&amp;#039;&amp;#039; é un usuario do dominio con permiso pra engadir equipos ó dominio DOMINIO, e sendo DOMINIO o nome do dominio. Se todo funciona correctamente amosarase unha mensaxe &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Joined the domain DOMINIO&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Proba do Winbind. ===&lt;br /&gt;
&lt;br /&gt;
Agora podemos probar o sistema. Pra esto é necesario arrancar o demo &amp;#039;&amp;#039;&amp;#039;winbind&amp;#039;&amp;#039;&amp;#039;. En RedHat hay un script de arranque do servicio en &amp;#039;&amp;#039;/etc/init.d/&amp;#039;&amp;#039; chamado &amp;#039;&amp;#039;winbind&amp;#039;&amp;#039;, co que bastará con escribir &amp;#039;&amp;#039;/etc/init.d/winbind start&amp;#039;&amp;#039; . Tamén é posible chamar directamente á aplicación &amp;#039;&amp;#039;winbindd&amp;#039;&amp;#039;. Unha vez arrancado o servicio é posible realizar as seguintes accións:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;wbinfo -u&amp;#039;&amp;#039;&amp;lt;nowiki&amp;gt;: Obtén unha lista dos usuarios do PDC. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;wbinfo -g&amp;#039;&amp;#039;&amp;lt;nowiki&amp;gt;: Obtén unha lista dos grupos do PDC. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;getent passwd&amp;#039;&amp;#039;&amp;lt;nowiki&amp;gt;: Obtén unha lista dos usuarios do PDC e dos usuarios locais. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;getent group&amp;#039;&amp;#039;&amp;lt;nowiki&amp;gt;: Obtén unha lista dos grupos do PDC e dos grupos locais. &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuración PAM. ===&lt;br /&gt;
&lt;br /&gt;
É necesario configurar PAM pra permitir a autenticación para os servicios de acceso (por exemplo ssh e login). Pra esto precisamos que o arquivo &amp;#039;&amp;#039;pam_winbind.so&amp;#039;&amp;#039; esté situado no directorio &amp;#039;&amp;#039;/lib/security&amp;#039;&amp;#039; e posteriormente configurar o ficheiro de &amp;#039;&amp;#039;/etc/pam.d&amp;#039;&amp;#039; axeitado para o servicio de acceso. Seguidamente veremos un exemplo de configuración pra login e pra ssh:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;login&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
     #%PAM-1.0&lt;br /&gt;
     auth   required   /lib/security/pam_securetty.so&lt;br /&gt;
     auth   sufficient  /lib/security/pam_winbind.so&lt;br /&gt;
     auth   required  /lib/security/pam_stack.so  service=system_auth&lt;br /&gt;
     auth   required  /lib/security/pam_nologin.so&lt;br /&gt;
     account sufficient  /lib/security/pam_winbind.so&lt;br /&gt;
     account required  /lib/security/pam_stack.so  service=system_auth&lt;br /&gt;
     password  required  /lib/security/pam_stack.so  service=system_auth&lt;br /&gt;
     session  required  /lib/security/pam_stack.so  service=system_auth&lt;br /&gt;
     session  optional   /lib/security/pam_console.so&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;sshd&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
     #%PAM-1.0&lt;br /&gt;
     auth   required  /lib/security/pam_stack.so  service=system_auth&lt;br /&gt;
     auth   sufficient  /lib/security/pam_winbind.so&lt;br /&gt;
     auth   required  /lib/security/pam_nologin.so&lt;br /&gt;
     account sufficient  /lib/security/pam_winbind.so&lt;br /&gt;
     account required  /lib/security/pam_stack.so  service=system_auth&lt;br /&gt;
     password  required  /lib/security/pam_stack.so  service=system_auth&lt;br /&gt;
     session  required  /lib/security/pam_stack.so  service=system_auth&lt;br /&gt;
     session  required  /lib/security/pam_limits.so&lt;br /&gt;
     session  optional   /lib/security/pam_console.so&lt;br /&gt;
&lt;br /&gt;
Tamén é posible configurar PAM para samba de xeito que se creen automáticamente os homes dos usuarios:&lt;br /&gt;
&lt;br /&gt;
     #%PAM-1.0&lt;br /&gt;
     auth   required  pam_nologin.so&lt;br /&gt;
     auth   required  pam_stack.so  service=system_auth&lt;br /&gt;
     account required  pam_stack.so  service=system_auth&lt;br /&gt;
     session  required  pam_mkhomedir.so   skel=/etc/sambaskel   umask=0022&lt;br /&gt;
     session  required  pam_stack.so  service=system_auth&lt;br /&gt;
     password  required  /lib/security/pam_stack.so  service=system_auth&lt;br /&gt;
&lt;br /&gt;
== NOTAS ADICIONAIS. ==&lt;br /&gt;
&lt;br /&gt;
Para o correcto funcionamento da autenticación hay que ter en conta os seguintes puntos:&lt;br /&gt;
&lt;br /&gt;
* O &amp;#039;&amp;#039;workgroup&amp;#039;&amp;#039; de samba debe ser o mesmo que o dominio do PDC&lt;br /&gt;
* &amp;#039;&amp;#039;security&amp;#039;&amp;#039; debe ser &amp;#039;&amp;#039;domain&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;domain master&amp;#039;&amp;#039; debe ser &amp;#039;&amp;#039;no&amp;#039;&amp;#039;&lt;br /&gt;
* Deberíase poñer en /etc/hosts o dominio coa IP do PDC&lt;br /&gt;
* Conven engadir ós ficheiros pam axeitados (coma login) a liña para crear automáticamente os directorios home:&lt;br /&gt;
&lt;br /&gt;
           &amp;#039;&amp;#039;&amp;#039;session required /lib/security/pam_mkhomedir.so  skel=/etc/skel  umask=0022&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
: :* Non funciona si o directorio home do usuario está dentro de outro directorio sin crear. Por exemplo si o home está en &amp;#039;&amp;#039;/home/dominio/usuario&amp;#039;&amp;#039; e non temos creado antes o directorio &amp;#039;&amp;#039;dominio&amp;#039;&amp;#039; non funciona.&lt;br /&gt;
&lt;br /&gt;
* Elexir / como separador no ficheiro smb.conf fai que non arranquen as X cun error de falta de permisos sobre a consola.&lt;br /&gt;
* Ollo coas maiúsculas e minúsculas no nome de usuario. Winbind autenticará de todos modos, pero logo non funcionarán correctamente algunhas cousas como as X.&lt;br /&gt;
&lt;br /&gt;
== SCRIPT DE CONFIGURACIÓN ==&lt;br /&gt;
&lt;br /&gt;
Este script está pensado para o IES de Rodeira e unha configuración baseada en unha rede de clase B na que os dous últimos números da IP utilíizanse para nomear o aula e o equipo respectivamente. Sen embargo, é moi fácil modificar o script para adaptalo a outras necesidades máis ou menos complexas.&lt;br /&gt;
&lt;br /&gt;
   #!/bin/sh&lt;br /&gt;
   #&lt;br /&gt;
   # winbindea v1.0 beta&lt;br /&gt;
   #&lt;br /&gt;
   # (Cl) FJTA 2003&lt;br /&gt;
   #&lt;br /&gt;
   # Prepara o sistema para autenticarse contra un servidor Windows2000&lt;br /&gt;
   #&lt;br /&gt;
   # A primeira parte nomea os equipos como LINUXAnºaula_nºequipo&lt;br /&gt;
   # collendo o número de aula e de equipo dos parámetros&lt;br /&gt;
   # fácilmente modificable pra coller o nome de equipo directamente dos parámetros&lt;br /&gt;
   # sería un so parámetro e facer HN=$1&lt;br /&gt;
   #&lt;br /&gt;
   #&lt;br /&gt;
   # Cambiar estas liñas para outra situación&lt;br /&gt;
   #&lt;br /&gt;
   # adminPDC debe ser un usuario do dominio con permiso para agregar equipos.&lt;br /&gt;
   #&lt;br /&gt;
   NAMEPDC=IESRODEIRA&lt;br /&gt;
   IPPDC=172.16.2.2&lt;br /&gt;
   PREHN=LINUXA&lt;br /&gt;
   PREIPHOST=172.16.&lt;br /&gt;
   GATEWAY=172.16.2.1&lt;br /&gt;
   DNS=172.16.2.1&lt;br /&gt;
   GRUPO=domainusers&lt;br /&gt;
   ADMIN=adminPDC&lt;br /&gt;
   #&lt;br /&gt;
   if [ $# -eq 2 ]; then&lt;br /&gt;
     NUMHOST=`echo $2|sed &amp;#039;s/^0*//&amp;#039;`&lt;br /&gt;
     NUMAULA=`echo $1|sed &amp;#039;s/^0*//&amp;#039;`&lt;br /&gt;
     LNUMIP=$NUMHOST&lt;br /&gt;
     if [ `expr length $NUMHOST` -le 1 ]; then&lt;br /&gt;
       NUMHOST=0&amp;quot;$NUMHOST&amp;quot;&lt;br /&gt;
     fi&lt;br /&gt;
     if [ `expr length $LNUMIP` -ge 3 ]; then&lt;br /&gt;
       LNUMIP=100&lt;br /&gt;
     fi&lt;br /&gt;
     #&lt;br /&gt;
     echo &amp;quot;Parando firewall.....&amp;quot;&lt;br /&gt;
     /etc/init.d/iptables stop&lt;br /&gt;
     #&lt;br /&gt;
     # Facendo copias de seguridade&lt;br /&gt;
     #&lt;br /&gt;
     if [ ! -d .winbinded ]; then&lt;br /&gt;
       mkdir .winbinded&lt;br /&gt;
       cp -f /etc/sysconfig/network-scripts/ifcfg-eth0 .winbinded/&lt;br /&gt;
       cp -f /etc/sysconfig/network .winbinded/&lt;br /&gt;
       cp -f /etc/hosts .winbinded/&lt;br /&gt;
       cp -f /etc/samba/smb.conf .winbinded/&lt;br /&gt;
       cp -f /etc/nsswitch.conf .winbinded/&lt;br /&gt;
       cp -f /etc/pam.d/login .winbinded/&lt;br /&gt;
       cp -f /etc/resolv.conf .winbinded/&lt;br /&gt;
       cp -f /etc/group .winbinded/&lt;br /&gt;
     else&lt;br /&gt;
       echo &amp;quot;Equipo xa configurado con anterioridade&amp;quot;&lt;br /&gt;
       echo &amp;quot;executa:&amp;quot;&lt;br /&gt;
       echo &amp;quot;   winbindea restore&amp;quot;&lt;br /&gt;
       echo &amp;quot;antes de intentalo de novo.&amp;quot;&lt;br /&gt;
       exit&lt;br /&gt;
     fi&lt;br /&gt;
     echo &amp;quot;Parcheando archivos....&amp;quot;&lt;br /&gt;
     HN=$PREHN$NUMAULA\_$NUMHOST&lt;br /&gt;
     IPHOST=$PREIPHOST$NUMAULA.$LNUMIP&lt;br /&gt;
     #&lt;br /&gt;
     if [ -z &amp;quot;`grep $GRUPO /etc/group`&amp;quot; ]; then&lt;br /&gt;
       sed &amp;#039;$a\&lt;br /&gt;
   GRUPO:x:10000:&amp;#039; /etc/group | sed &amp;quot;s/GRUPO/$GRUPO/&amp;quot; &amp;gt; group.new&lt;br /&gt;
     fi&lt;br /&gt;
     #&lt;br /&gt;
     if [ -z &amp;quot;`grep $GATEWAY /etc/resolv.conf`&amp;quot; ]; then&lt;br /&gt;
       sed &amp;#039;1 i\&lt;br /&gt;
   nameserver  DNS&amp;#039; etc/resolv.conf | sed &amp;quot;s/DNS/$DNS/&amp;quot; &amp;gt; resolv.conf.new&lt;br /&gt;
     fi&lt;br /&gt;
     sed &amp;quot;s/HOSTNAME=.*/HOSTNAME=$HN/&amp;quot; /etc/sysconfig/network &amp;gt; network.new.tmp&lt;br /&gt;
     if [ -z &amp;quot;`/sbin/route|grep default`&amp;quot; ]; then&lt;br /&gt;
       echo &amp;quot;Poñendo a ruta por defecto....&amp;quot;&lt;br /&gt;
       /sbin/route add default gw $GATEWAY&lt;br /&gt;
       sed &amp;quot;s/GATEWAY=.*/GATEWAY=$GATEWAY&amp;quot; network.new.tmp &amp;gt; network.new&lt;br /&gt;
       rm -f network.new.tmp&lt;br /&gt;
     else&lt;br /&gt;
       mv -f network.new.tmp network.new&lt;br /&gt;
     fi&lt;br /&gt;
     hostname $HN&lt;br /&gt;
     #&lt;br /&gt;
     sed -e &amp;quot;s/IPADDR/#IPADDR/&amp;quot; -e &amp;#039;/NETMASK/i\&lt;br /&gt;
   NOVOHOST&amp;#039; /etc/sysconfig/network-scripts/ifcfg-eth0 | sed &amp;quot;s/NOVOHOST/IPADDR=$IPHOST/&amp;quot; &amp;gt; ifcfg-eth0.new&lt;br /&gt;
     /sbin/ifconfig eth0 $IPHOST&lt;br /&gt;
     sed -e &amp;#039;$a\&lt;br /&gt;
   NOVOHOST\&lt;br /&gt;
   NOVONOME&amp;#039; /etc/hosts |\&lt;br /&gt;
   sed -e &amp;quot;s/NOVOHOST/$IPPDC           $NAMEPDC/&amp;quot; -e\&lt;br /&gt;
   &amp;quot;s/127\.0\.0\.1/#127\.0\.0\.1/&amp;quot; -e\&lt;br /&gt;
   &amp;quot;s/NOVONOME/127\.0\.0\.1      $HN  localhost\.localdomain    localhost/&amp;quot; &amp;gt; hosts.new&lt;br /&gt;
   #&lt;br /&gt;
     sed -e &amp;#039;s/workgroup/#workgroup/&amp;#039; -e\&lt;br /&gt;
   &amp;#039;s/server string/#server string/&amp;#039; -e\&lt;br /&gt;
   &amp;#039;s/security/#security/&amp;#039; -e\&lt;br /&gt;
   &amp;#039;s/netbios name/#netbios name/&amp;#039; -e\&lt;br /&gt;
   &amp;#039;s/domain master/#domain master/&amp;#039; -e\&lt;br /&gt;
   &amp;#039;s/encrypt passwords/#encrypt passwords/&amp;#039; -e\&lt;br /&gt;
   &amp;#039;/global/a\&lt;br /&gt;
           workgroup = NOVOPDC\&lt;br /&gt;
           netbios name = NOVOHOST\&lt;br /&gt;
           server string = NOVOHOST\&lt;br /&gt;
           security = domain\&lt;br /&gt;
           domain master = no\&lt;br /&gt;
           encrypt passwords = yes&amp;#039; -e &amp;#039;/homes/i\&lt;br /&gt;
           #&lt;br /&gt;
           #Engadido para autenticar contra w2000\&lt;br /&gt;
           #&lt;br /&gt;
           winbind separator = +\&lt;br /&gt;
           winbind uid = 10000-20000\&lt;br /&gt;
           winbind gid = 10000-20000\&lt;br /&gt;
           winbind enum users = yes\&lt;br /&gt;
           winbind enum groups = yes\&lt;br /&gt;
           template homedir = /home/%D/%U\&lt;br /&gt;
           template shell = /bin/bash&amp;#039; /etc/samba/smb.conf | sed -e &amp;quot;s/NOVOHOST/$HN/&amp;quot; -e &amp;quot;s/NOVOPDC/$NAMEPDC/&amp;quot;&amp;gt; smb.conf.new&lt;br /&gt;
     sed &amp;#039;s/^passwd:.*/passwd: files       winbind/&amp;#039; /etc/nsswitch.conf|\&lt;br /&gt;
   sed &amp;#039;s/^shadow:.*/shadow: files/&amp;#039;|sed &amp;#039;s/^group:.*/group: files    winbind/&amp;#039; &amp;gt; nsswitch.conf.new&lt;br /&gt;
     if [ ! -f /home/IESRODEIRA ]; then&lt;br /&gt;
        mkdir /home/IESRODEIRA&lt;br /&gt;
     fi&lt;br /&gt;
     echo &amp;#039;#%PAM-1.0&amp;#039; &amp;gt; login.new&lt;br /&gt;
     echo &amp;quot;auth required /lib/security/pam_securetty.so&amp;quot; &amp;gt;&amp;gt; login.new&lt;br /&gt;
     echo &amp;quot;auth sufficient /lib/security/pam_winbind.so&amp;quot; &amp;gt;&amp;gt; login.new&lt;br /&gt;
     echo &amp;quot;auth required /lib/security/pam_stack.so service=system-auth&amp;quot; &amp;gt;&amp;gt; login.new&lt;br /&gt;
     echo &amp;quot;auth required /lib/security/pam_nologin.so&amp;quot; &amp;gt;&amp;gt; login.new&lt;br /&gt;
     echo &amp;quot;account sufficient /lib/security/pam_winbind.so&amp;quot; &amp;gt;&amp;gt; login.new&lt;br /&gt;
     echo &amp;quot;account required /lib/security/pam_stack.so service=system-auth&amp;quot; &amp;gt;&amp;gt; login.new&lt;br /&gt;
     echo &amp;quot;password required /lib/security/pam_stack.so service=system-auth&amp;quot; &amp;gt;&amp;gt; login.new&lt;br /&gt;
     echo &amp;quot;session required /lib/security/pam_stack.so service=system-auth&amp;quot; &amp;gt;&amp;gt; login.new&lt;br /&gt;
     echo &amp;quot;session required /lib/security/pam_mkhomedir.so skel=/etc/skel umask=0022&amp;quot; &amp;gt;&amp;gt; login.new&lt;br /&gt;
     echo &amp;quot;session optional /lib/security/pam_console.so&amp;quot; &amp;gt;&amp;gt; login.new&lt;br /&gt;
   #&lt;br /&gt;
   #TODO: Parchear os arquivos rc.d axeitados para non necesitar facer o setup a mano.&lt;br /&gt;
   #&lt;br /&gt;
     echo &amp;quot;Copiando archivos parcheados....&amp;quot;&lt;br /&gt;
     mv -f ifcfg-eth0.new /etc/sysconfig/network-scripts/ifcfg-eth0&lt;br /&gt;
     mv -f network.new /etc/sysconfig/network&lt;br /&gt;
     mv -f hosts.new /etc/hosts&lt;br /&gt;
     mv -f smb.conf.new /etc/samba/smb.conf&lt;br /&gt;
     mv -f nsswitch.conf.new /etc/nsswitch.conf&lt;br /&gt;
     mv -f login.new /etc/pam.d/login&lt;br /&gt;
     mv -f resolv.conf.new /etc/resolv.conf&lt;br /&gt;
     mv -f group.new  /etc/group&lt;br /&gt;
     #&lt;br /&gt;
     echo &amp;quot;Reiniciando servicios e engadíndome ó dominio....&amp;quot;&lt;br /&gt;
     /etc/init.d/smb restart&lt;br /&gt;
     /etc/init.d/winbind restart&lt;br /&gt;
     smbpasswd -j IESRODEIRA -r 172.16.2.2 -U $ADMIN&lt;br /&gt;
     #&lt;br /&gt;
     echo &amp;quot;OK!...&amp;quot;&lt;br /&gt;
     echo &amp;quot;ATENCION!!!: RECORDA MODIFICAR O FIREWALL E INICIAR SMB E WINBIND AUTOMÁTICAMENTE (setup)&amp;quot;&lt;br /&gt;
     echo &amp;quot;unha vez feito esto podes saír do sistema e reiniciar a tua sesión&amp;quot;&lt;br /&gt;
     echo &amp;quot;escribindo como login IESRODEIRA+usuario e como password a tua password no&amp;quot;&lt;br /&gt;
     echo &amp;quot;servidor Windows 2000. Recorda desactivar o salvapantallas nas X&amp;quot;.&lt;br /&gt;
   elif [ $1 ] &amp;amp;&amp;amp; [ $1 = &amp;quot;restore&amp;quot; ]; then&lt;br /&gt;
     if [ -d .winbinded ]; then&lt;br /&gt;
       cp -f .winbinded/ifcfg-eth0     /etc/sysconfig/network-scripts/ifcfg-eth0&lt;br /&gt;
       cp -f .winbinded/network        /etc/sysconfig/network&lt;br /&gt;
       cp -f .winbinded/hosts          /etc/hosts&lt;br /&gt;
       cp -f .winbinded/smb.conf       /etc/samba/smb.conf&lt;br /&gt;
       cp -f .winbinded/nsswitch.conf  /etc/nsswitch.conf&lt;br /&gt;
       cp -f .winbinded/login          /etc/pam.d/login&lt;br /&gt;
       cp -f .winbinded/resolv.conf    /etc/resolv.conf&lt;br /&gt;
       cp -f .winbinded/group          /etc/group&lt;br /&gt;
       rm -Rf .winbinded&lt;br /&gt;
     fi&lt;br /&gt;
   else&lt;br /&gt;
     echo winbindea aula host&lt;br /&gt;
     echo winbindea restore&lt;br /&gt;
   fi&lt;/div&gt;</summary>
		<author><name>Xavi</name></author>
	</entry>
</feed>