Buscar este blog

martes, 28 de octubre de 2014

Como cambiar la interfaz gráfica de Ubuntu 14.04 LTS

Aún cuando Unity es una excelente interfaz gráfica para Ubuntu, puede darse el caso de que te guste lo retro y prefieras instalar GNOME o incluso una interfaz gráfica como Cinammon, la cual es usada por Mint.

Cambiar a GNOME tradicional.



Si está dentro de tus opciones:


  1. Cierra tu sesión de usuario
  2. Haz clic en tu nombre de usuario en la pantalla de inicio
  3. Busca en el menú de sesión en la parte inferior de la pantalla
  4. Cámbialo de Ubuntu a GNOME Flashback
  5. Haz clic en iniciar sesión
En caso de que no tengas esta opción, pero quieras instalarla, entonces intenta correr primero este comando desde una terminal:

sudo apt install gnome-session-flashback

Cambiar a GNOME 3 / GNOME Shell



Si deseas probar GNOME Shell en lugar de Unity escribe el siguiente comando en una terminal

sudo apt install gnome-shell

Por otro lado, puedes instalarlo desde los repositorios oficiales, lo que seguramente incluirá versionas más actualizadas:

sudo add-apt-repository ppa:ricotz/testing
sudo add-apt-repository ppa:gnome3-team/gnome3
sudo add-apt-repository ppa:gnome3-team/gnome3-staging
sudo apt update
sudo apt install gnome-shell gnome-tweak-tool gnome-shell-extensions

IMPORTANTE: Al instalar GNOME Shell de este modo, posiblemente se instalen otros paquetes de GNOME que Ubuntu ha dejado de lado, como por ejemplo Nautilus. 

Cinammon

Cinamon es un fork de GNOME 3 utilizada y desarrollada por los creadores de Linux Mint que permite tener una barra de tareas inferior con el clásico Menú de Inicio en lugar de la barra de aplicaciones a la izquierda de la pantalla.


Para agregar este fork escribiremos los siguientes comandos desde nuestra terminal:

sudo add-apt-repository ppa:gwendal-lebihan-dev/cinamon-stable
sudo apt update
sudo apt install cinnamon

MATE



MATE es un fork de GNOME 2 que surgió como una alternativa para los usuarios de GNOME tras el drástico cambio que sufriera este entorno de escritorio al usar su polémico Shell. Básicamente, MATE es GNOME 2, pero cambiaron los nombres de algunos de sus paquetes.

Simplemente escribe en la terminal:

sudo add-apt-repository "deb http://packages.mate-desktop.org/repo/ubuntu $(lsb_release -sc) main"
sudo add-apt-repository "deb http://repo.mate-desktop.org/ubuntu $(lsb_release -sc) main"
sudo apt update
sudo apt install mate-archive-keyring
sudo apt install mate-core mate-desktop-environment


Happy hacking!!!

Cómo instalar Google Earth en Ubuntu de 64 bits

Recién volví a preparar mi laptop desde cero con la nueva versión de Ubuntu, la 14.04 LTS (Trusty Tahr) y cuando terminé de realizar la instalación empecé a instalar aquellas aplicaciones que ya tenía antes de el formateo, entre ellas el VLC, Teamviewer, Chrome y Google Earth. Sin embargo, al llegar a ésta última me topé con un inconveniente.

Descargué las aplicaciones e inicié el proceso de instalación pero, durante la instalación me apareció el siguiente mensaje:

No se satisfacen todas las dependencias requeridas

¿Qué hacer entonces? Hasta este momento con la versión 12.04 (la 13 no la utilicé nunca pues andaba en Europa y no tenía tiempo de volver a preparar allá mi equipo) no había tenido ningún problema con esta aplicación.  Buscando aquí y allá encontré que la versión liberada de Google Earth debido a que algunos paquetes no se encuentran actualizados. ¿Qué hacer entonces?

Sucede que la versión 14.04 no dispone de la librería ia32-libs, lo que no permite que se instalen esos paquetes. Por lo tanto tenemos que instalar la arquitectura i386 en nuestra versión de 64 bits.

NOTA: Esto sucede aún cuando descargues e instales la versión de 64 bits de la página de Google Earth.

Si tratáramos simplemente de instalar la librería faltante con el comando sudo apt-get install ia32-libs nos encontraríamos con un mensaje de error como éste:

Package 'ia32-libs' has no installation candidate
Como comenté, este error es debido a que dicho paquete no se encuentra disponible desde la versión 13. Además, el proplema con Google Earth es que el paquete de 32 bits no soporta la multiarquitectura, por lo que no instala las dependencias de 32 bits que se requieren para correrlo en un sistema de 64 bits.

Instalando Google Earth en Ubuntu 14.04 de 64 bits

En realidad la instalación es extremadamente sencilla. Abriremos nuestra terminal y escribiremos los siguientes comandos:

sudo apt-get install libfontconfig1:i386 libx11-6:i386 libxrender1:i386 libxext6:i386 libgl1-mesa-glx:i386 libglu1-mesa:i386 libglib2.0-0:i386 libsm6:i386

cd /tmp && wget http://dl.google.com/dl/earth/client/current/google-earth-stable_current_i386.deb

sudo apt-get install -f

Explicación del proceso:

  1. Primeramente instalaremos de manera manual las librerías de 32 bits en nuestro sistema
  2. Ahora nos cambiaremos al directorio temporal en donde descargaremos la versión de 32 bits en nuestro disco duro
  3. Finalmente instalaremos el programa corrigiendo sus dependencias con el modificador -f en la línea de comando

Instalando Google Earth en Ubuntu 14.04 de 32 bits

Para la versión de 32 bits simplemente descarga google earth de 32 bits e instálenla de manera normal.



Happy hacking!!!

domingo, 26 de octubre de 2014

Ubuntu 14.04 LTS y su tropicalización

Por fin, después de utilizar durante un buen rato la distribución 12.04 LTS decidí hacer el cambio y probar la nueva versión 14.04 LTS 64 bits. Quiero comentar que de entrada me parece muy bien realizado el instalador, considerablemente más rápido que sus predecesores, intuitivo como de costumbre y mucho mejor realizado que la versión 12.

Pero, ya sabemos que una instalación desde cero no siempre queda como nosotros queremos, si bien es cierto que GNU/Linux contiene prácticamente todos los programas que queremos, también es cierto que pueden faltar uno que otro.

Mi recomendación es que, al terminar su instalación ejecuten los siguientes comandos, todos ellos desde una terminal:

Password de Root

GNU/Linux y en este caso Ubuntu crean la cuenta "root" pero no incluyen una contraseña para ella. Es importante que nosotros como usuarios establezcamos una contraseña aún cuando raramente utilicemos la cuenta root. En la terminal escribiremos:

sudo passwd root

Con esto Ubuntu nos pedirá que establezcamos la contraseña deseada para el usuario root.

Actualización del sistema

Ahora actualizaremos los repositorios e instalaremos las actualizaciones que se hayan presentado desde la aparición de la nueva versión a la fecha en que estamos instalando. En la terminal escribiremos los siguientes comandos uno a la vez

sudo apt-get update
sudo apt-get upgrade

Instalación de Codecs de audio, video, fuentes adicionales, drivers, etc.

Si queremos utilizar los archivos MP3, MP4 y otros formatos propietarios deberemos escribir los siguientes comandos:

sudo apt install ubuntu-restricted-extras

Observe que no utilizamos el comando apt-get install.

Para poder quitar las protecciones a los DVD's (regiones, candados, etc.) escribiremos los siguientes comandos. Si al utilizar el primero les dice que ya está instalado no se preocupen. Continúen con el siguiente comando.

sudo apt install libdvdread4
sudo /usr/share/doc/libdvdread4/install-css.sh

Wine, fuentes y otros recursos

Ocasionalmente tenemos que instalar algunos programas que funcionan con librerías de Güindous, como por ejemplo Teamviewer o Skype. Para esto escribiremos en la terminal

sudo apt-get install wine winetricks

Radio por Internet

Aún cuando existen muchas páginas para escuchar radio por internet, en lo personal me gusta utilizar el programa Spotify. Lo podemos usar con una cuenta individual o firmándonos con nuestra cuenta de Facebook. Para instalarlo haremos lo siguiente:

Escribiremos en la terminal

sudo gedit /etc/apt/sources.list

En la última línea del programa agregaremos una línea más 

deb http://repository.spotify.com stable non-free

Y guardaremos el archivo. Ahora agregaremos la clave del nuevo servidor

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --rec v -keys 94558F59

A continuación actualizaremos los repositorios con el comando:

sudo apt-get update

Y finalmente instalaremos el programa con:

sudo apt-get install spotify-client

El programa es un poco largo, poco más de 100 MB pero vale la pena la espera.


Happy Hacking!!!

lunes, 23 de septiembre de 2013

El Génesis de la computación

Googleando un poco me encontré este texto. Lo anexo a este blog, porque, sin afán de ofender, es muy bueno reirse de vez en cuando.



Génesis de la Computación

1. Al principio Dios creo el Bit y el Byte. Y de ellos creó la Palabra.

2. Y hubo dos bytes en una palabra; y nada mas existía. Y Dios separó el Uno del Cero; y vio que esto era bueno.

3. Y Dios dijo:
- Hágase el Dato.
Y así sucedió.
Y Dios dijo:
- Que los Datos vayan a su correspondiente lugar.
Y creó los disquetes, discos duros y los discos compactos.

4. Y dijo Dios
- Háganse las computadoras, así habrá lugar para poner los disquetes, discos duros y discos compactos.
Y Dios creó las computadoras y los llamó Hardware.

5. Y no había Software aun.
Pero Dios creó programas, chicos y grandes...
Y les dijo:
- Vayan y multiplíquense por si mismos y llenen toda la Memoria.

6. Y dijo Dios:
- Crearé al Programador; y el Programador hará nuevos programas y gobernará sobre las computadoras, programas y datos.

7. Y Dios creó al Programador y lo puso en el Centro de Datos.
Y Dios le mostró al Programador el Árbol de Directorios y le dijo:
- Puedes usar todos los volúmenes y subvolúmenes, pero NO USES Windows.

8. Y Dios dijo:
- No es bueno para el Programador estar solo.
Y tomo un hueso del cuerpo del Programador y creó una criatura que buscaría al Programador, lo admiraría y amaría las cosas que hiciera el Programador;
Y Dios llamó a la criatura EL USUARIO.

9. Y el Programador y el Usuario fueron dejados por EL solos bajo el Unix desnudo y fue bueno.

10. Pero Bill fue más listo que todas las otras criaturas de Dios.
Y Bill le dijo al Usuario:
- ¿Realmente Dios te dijo que no ejecutaras ningún programa?
11. Y respondió el Usuario
- Dios nos dijo que podíamos usar cualquier programa y cualquier dato pero nos dijo que no ejecutáramos Windows o moriríamos.

12. Y Bill dijo al Usuario
- ¿Cómo puedes hablar sobre algo que no has probado? En el momento que corras Windows te convertirás en igual a Dios. Podrás crear cualquier cosa que desees con un simple clic del ratón.

13. Y el Usuario vio que los frutos del Windows eran buenos y fáciles de usar. Y el Usuario vio que cualquier conocimiento era inútil, pues Windows podía reemplazarlos.

14. Así que el Usuario instaló Windows en su computador y le dijo al Programador que era bueno.

15. Y el Programador empezó a buscar nuevos drivers.
Y Dios le pregunto:
- ¿Qué buscas?
Y el Programador respondió:
- Busco nuevos drivers porque no puedo hallarlos en el DOS.
Y Dios dijo:
- ¿Quien te dijo que necesitabas drivers? ¿Ejecutaste Windows?
Y el Programador dijo:
- ¡Fue Bill quien nos lo dijo!

16. Y Dios dijo a Bill:
- Por lo que hiciste serás odiado por todas las criaturas.
Y el Usuario estará siempre descontento contigo.
Y siempre venderás Windows.

17. Y Dios dijo al Usuario
- Por lo que hiciste Windows te decepcionará y se comerá todos tus recursos.
Y tendrás que usar programas piojosos.
Y serás infectado por virus de cómputo.
Y siempre confiaras en la ayuda del Programador.

18. Y Dios dijo al Programador:
- Porque oíste al Usuario nunca serás feliz. Todos tus programas tendrán errores y tendrás que arreglarlos hasta el fin de los tiempos.

19. Y Dios los echó del Centro de Datos y cerró la puerta y la aseguró con un password.




Happy Hacking!!!!

Gestión de Redes con GNU/Linux

Recientemente me integré a una empresa que tiene como fuerte el proveer el servicio de Internet a los municipios más alejados de la capital del estado (Zacatecas). Sin embargo, una de las cosas que me hacían falta para poder realizar mejor mi trabajo era una herramienta que me permitiera (en tiempo real) visualizar el estado general de la red, así como de los diferentes dispositivos que permiten la interconexión de las antenas de punto a punto.

Lamentablemente, mi falta de experiencia en este campo me impedía encontrar un programa que tuviera las "tres b's" (bueno, bonito y barato). Muchas herramientas están disponibles para (¡horror!) Güindous. Pero después de mucho googlear encontré algunas que parecen lo suficientemente buenas para mi chamba.

The Dude.


The Dude es una herramienta gráfica-visual desarrollada por la empresa Mikrotik, fabricante y distribuidor de equipos de telecomunicaciones. The Dude presenta una interfaz gráfica bastante amigable que permite monitorear en tiempo real el estado de la red.

Aún cuando The Dude no es Open Source, sí es una herramienta gratuita. La pueden descargar desde este enlace.

The Dude está diseñada para ejecutarse desde un entorno windows, más es posible ejecutarla desde cualquier distro GNU/Linux mediante el uso de Wine.

Puntos a favor:

  • Es muy completa
  • Es intuitiva
  • Es rápida
Puntos en contra:
  • Usa Windows
Podría mejorar:
  • Sí, si se desarrolla nativamente para GNU/Linux, sin el uso de Wine.


MRTG


MRTG es una herramienta bastante completa que utiliza un servidor web para su funcionamiento. Está escrita en C y Perl por Tobiar Oetiker y Dave Rand. Principalmente se usa para supervisar la carga de tráfico de interfaces de red.



La herramienta se basa en el protocolo SNMP para obtener información de los routers y tarjetas de red. También permite ejecutar cualquier tipo de aplicación en lugar de consultar un dispositivo SNMP.

MRTG se ejecuta como un deamon o bien como un script desde las tareas programadas con cron. Por defecto se ejecuta cada cinco minutos recolectando información de los dispositivos que se le indican en la configuración.

Pueden descargar la versión de su preferencia desde este enlace.

Puntos a favor:

  • Es Open Source
  • Funciona perfectamente con GNU/Linux y cualquier otra plataforma sin el uso de Wine
  • Usa HTML para mostrar los resultados
Puntos en contra:
  • Si el equipo a usar no tiene suficiente poder, las tareas de recolección y búsqueda de información pueden alentarlo
Podría mejorar:
  • Sí, si mejoran el instalador para GNU/Linux, ya que es necesario compilarlo y construirlo antes de usarlo.

Scotty+Tkined


Este es un programa para la gestión de redes que hace uso del protocolo SNMP para recolectar la información. Sin embargo su funcionalidad está muy limitada.

Pueden descargarlo desde este enlace.

Y hay más herramientas que estuve checando, pero que en escencia hacen lo mismo en mayor o menor medida. Espero que este post les sea de utilidad.

Happy Hacking!!!

viernes, 6 de septiembre de 2013

Netflix en Ubuntu

Hace tiempo publicaba en este blog que no era posible instalar Netflix en Linux porque la interfaz de Netflix utiliza Silverlight, el cual es una herramienta que no cuenta con licencia para ser usada más que por aquellos Sistemas Operativos que pagan por ello (MacOS). Además requiere por fuerza la utilización de Internet Explorer.

Gracias al desarrollador Erich Hoover y al bloguero David Andrews ahora los usuarios de GNU/Linux (específicamente Ubuntu) podemos disfrutar de los servicios de streaming de Netflix, y todo gracias a una aplicación llamada Netflix Desktop.

Pero primero lo primero: Antes de instalar esta aplicación, debemos asegurarnos de que nuestro Ubuntu cuenta con Wine instalado y con sus extenciones completas.

Para instalar wine, abriremos una consola (los que me conocen saben que me encanta trabajar desde la consola de Linux) y escribiremos:

sudo apt-get install wine winetricks

Con este comando, nuestro Ubuntu instalará los componentes de Wine junto con las librerías necesarias. Una vez terminado debemos instalar Netflix Desktop. Para ello deberemos agregar el repositorio escribiendo en la consola:

sudo apt-add-repository ppa:ehoover/compholio
sudo apt-get update && sudo apt-get install netflix-desktop

Ahora buscaremos la aplicación desde Unity




Al abrir la aplicación por primera vez, Netflix Desktop nos pedirá autorización para instalar varios paquetes necesarios para su correcto funcionamiento. Aceptaremos la opción y una vez terminado el proceso reiniciamos la aplicación.


Simplemente escribiremos los datos de nuestra cuenta en Netflix y ¡Listo! Es el momento de ir a comprar unas palomitas, una soda... ¡Y disfrutar del cine!


Happy Hacking!!!

miércoles, 8 de mayo de 2013

Añadir equipo GNU/Linux a Active Directory


En esta pequeña receta les enseñaré a añadir a un usuario con una máquina GNU/Linux a iniciar sesión en un Active Directory o PDC, para que de esa forma una vez que iniciamos sesión en nuestro sistema, automáticamente el sistema inciará sesión también en el contralador de dominio Active Directory.
Para ello utlizaremos el conjunto de aplicaciones Samba, autenticación KerberosWinbind y algún que otro paquete más.
Este post aplica para Ubuntu y sus derivados.
Partiremos de un sistema recien instalado el cual necesitamos agregar a un dominio ya creado  con una cuenta de usuario ya creada. Esta cuenta creada en el PDC debe ser la misma que la que utilizaremos para entrar en nuestro Ubuntu.
Una vez instalado el sistema con su sistema gráfico y todo, pasaremos modificar la configuración para que cada vez que entremos a nuestro sistema nuevo, automaticamente inicie la sesión en el PDC a la vez que entramos en nuestro sistema. Para ello utilizaremos nuestro gestos de inicio de sesión, en mi caso GDM.
Para ello, como he dicho antes supondremos que ya tenemos la cuenta del cliente creada, en el ejemplo tomaremos como dominio de prueba el nombre DOMINIO.LOCAL, con la ip 192.168.1.1, el nombre del controlador de dominio sera en nuestro ejemplo pdc.edages.local y como usuario juanmi
Comencemos instalando unos cuantos paquetes:
# apt-get install samba smbclient winbind krb5-user krb5-config ntpdate
Una vez realizado comenzaremos a modificar la configuración de samba, para ello haremos una copia del archivo original y crearemos uno nuevo:
# mv /etc/samba/smb.conf /etc/samba/smb.conf.ORIGINAL
Editaremos el nuevo archivo:
# sudo nano /etc/samba/smb.conf
Y pondremos el siguiente contenido, cambiándolo según sea cada caso, respeten las MAYUSCULAS.
[global]
workgroup = DOMINIO
realm = DOMINIO.LOCAL
security = ADS
password server = 192.168.1.1
log level = 1
syslog = 0
printcap name = cups
domain master = No
wins server = 192.168.1.1
idmap uid = 10000-29999
idmap gid = 10000-29999
winbind separator =
winbind use default domain = Yes
winbind enum users = Yes
winbind enum groups = Yes
winbind use default domain = Yes
netbios name = juanmi
template homedir = /home/%D/%U
template shell = /bin/bash
client use spnego = yes
domain master = no
server string = Juanmi
encrypt passwords = true
dos charset = 850
unix charset = iso-8859-15
[homes]
comment = Home Directories
valid users = %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/spool/samba
create mask = 0700
printable = Yes
browseable = Yes
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
[Comparto]
comment = Comparto en Juanmi
path = /home/juanmi/Desktop/Comparto
read only = No
inherit acls = Yes
public = no
browseable = yes
create mask= 664
force create mode = 664
directory mask = 775
force directory mode = 775
[Musica]
comment = Musica
path = /home/juanmi/Desktop/Musica
read only = No
inherit acls = Yes
Crearemos el directorio para alojar las home de cada usuario del dominio:
# mkdir /home/DOMINIO
Continuaremos ahora configurando más archivos. Ahora sigue /etc/krb5.conf
# sudo nano /etc/krb5.conf
y pongamos el siguiente contenido, cambiándolo de nuevo con las opciones necesarias:
[libdefaults]
krb4_config = /etc/krb.conf
krb4_realms = /etc/krb.realms
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true
v4_instance_resolve = false
v4_name_convert = {
host = {
rcmd = host
ftp = ftp
}
plain = {
something = something-else
}
}
fcc-mit-ticketflags = true
clockskew = 300
# The following krb5.conf variables are only for MIT Kerberos.
# The following encryption type specification will be used by MIT Kerberos
# if uncommented.  In general, the defaults in the MIT Kerberos code are
# correct and overriding these specifications only serves to disable new
# encryption types as they are added, creating interoperability problems.
#       default_tgs_enctypes = aes256-cts arcfour-hmac-md5 des3-hmac-sha1 des-cbc-crc des-cbc-md5
#       default_tkt_enctypes = aes256-cts arcfour-hmac-md5 des3-hmac-sha1 des-cbc-crc des-cbc-md5
#       permitted_enctypes = aes256-cts arcfour-hmac-md5 des3-hmac-sha1 des-cbc-crc des-cbc-md5
# The following libdefaults parameters are only for Heimdal Kerberos.
[realms]
DOMINIO.LOCAL = {
kdc = 192.168.1.1
default_domain = dominio.local
admin_server = 192.168.1.1
        }
dominio.local = {
kdc = 
192.168.1.1
                default_domain = dominio.local
admin_server = 1
92.168.1.1
        }
dominio = {
kdc = 
192.168.1.1
                default_domain = dominio
admin_server = 
192.168.1.1
        }
[logging]
kdc = FILE:/var/log/krb5/krb5kdc.log
admin_server = FILE:/var/log/krb5/kadmind.log
default = SYSLOG:NOTICE:DAEMON
[domain_realm]
.dominio = dominio
.dominio.local = DOMINIO.LOCAL
[appdefaults]
pam = {
ticket_lifetime = 1d
renew_lifetime = 1d
forwardable = true
proxiable = false
retain_after_close = false
minimum_uid = 0
try_first_pass = true
}


Editaremos ahora todos los archivos para que cuando iniciemos utilicen los datos introducidos para que inicie la sesión contra el Active Directory:
# cd /etc/pam.d/
# nano common-account
Y lo dejaremos así:
 #
# /etc/pam.d/common-account – authorization settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authorization modules that define
# the central access policy for use on the system.  The default is to
# only deny service to users whose accounts are expired in /etc/shadow.
#
# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules.  See
# pam-auth-update(8) for details.
#
# here are the per-package modules (the “Primary” block)
account sufficient      pam_winbind.so
account [success=1 new_authtok_reqd=done default=ignore]        pam_unix.so
# here’s the fallback if no module succeeds
account requisite                       pam_deny.so
# prime the stack with a positive return value if there isn’t one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
account required                        pam_permit.so
# and here are more per-package modules (the “Additional” block)
# end of pam-auth-update config
Ahora
# nano common-auth
Y lo dejaremos así:
#
# /etc/pam.d/common-auth – authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.).  The default is to use the
# traditional Unix authentication mechanisms.
#
# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules.  See
# pam-auth-update(8) for details.
# here are the per-package modules (the “Primary” block)
auth    sufficient      pam_winbind.so
auth    [success=1 default=ignore]      pam_unix.so nullok_secure try_first_pass
# here’s the fallback if no module succeeds
auth    requisite                       pam_deny.so
# prime the stack with a positive return value if there isn’t one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
auth    required                        pam_permit.so
# and here are more per-package modules (the “Additional” block)
# end of pam-auth-update config
Ahora
# nano common-session
Y lo dejaremos así:
#
# /etc/pam.d/common-session – session-related modules common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of modules that define tasks to be performed
# at the start and end of sessions of *any* kind (both interactive and
# non-interactive).
#
# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules.  See
# pam-auth-update(8) for details.
# here are the per-package modules (the “Primary” block)
session [default=1]                     pam_permit.so
# here’s the fallback if no module succeeds
session requisite                       pam_deny.so
# prime the stack with a positive return value if there isn’t one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
session required                        pam_permit.so
# and here are more per-package modules (the “Additional” block)
session sufficient      pam_winbind.so
session required        pam_unix.so
session optional                        pam_ck_connector.so nox11
# end of pam-auth-update config
Ahora
# nano common-password
Y lo dejaremos así:
#
# /etc/pam.d/common-password – password-related modules common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of modules that define the services to be
# used to change user passwords.  The default is pam_unix.
# Explanation of pam_unix options:
#
# The “md5″ option enables MD5 passwords.  Without this option, the
# default is Unix crypt.
#
# The “obscure” option replaces the old `OBSCURE_CHECKS_ENAB’ option in
# login.defs.
#
# See the pam_unix manpage for other options.
# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules.  See
# pam-auth-update(8) for details.
# here are the per-package modules (the “Primary” block)
password        sufficient      pam_winbind.so
password        [success=1 default=ignore]      pam_unix.so obscure use_authtok try_first_pass md5
# here’s the fallback if no module succeeds
password        requisite                       pam_deny.so
# prime the stack with a positive return value if there isn’t one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
password        required                        pam_permit.so
# and here are more per-package modules (the “Additional” block)
password        optional        pam_gnome_keyring.so
# end of pam-auth-update config
Y por último  editaremos la configuración de nuestro gestor de sesiones, en mi caso GDM, como dije más arriba:
# nano gdm
Y lo dejaremos así:
 #%PAM-1.0
auth required /lib/security/pam_securetty.so
auth sufficient /lib/security/pam_winbind.so
auth sufficient /lib/security/pam_unix.so use_first_pass envfile=/etc/default/locale
auth required /lib/security/pam_nologin.so
account sufficient /lib/security/pam_winbind.so
session required /lib/security/pam_mkhomedir.so skel=/etc/skel
umask=0022
auth requisite pam_nologin.so
auth    required        pam_env.so readenv=1
auth    required   ­;     pam_env.so readenv=1 envfile=/etc/default/locale
;@include common-auth
;@include common-account
session required pam_limits.so
;@include common-session
session optional /lib/security/pam_console.so
;@include common-password
Ahora debemos editar el archivo  /etc/nsswitch.conf para decirle que utilice tambien winbind:
# nano /etc/nsswitch.conf
y lo dejaremos como aparece aquí:
#/etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference’ and `info’ packages installed, try:
# `info libc “Name Service Switch”‘ for information about this file.
passwd:         files winbind
group:          files winbind
shadow:         files winbind
hosts:          files dns winbind
networks:       files
protocols:      db files
services:       db files
ethers:         db files
rpc:            db files
netgroup:       nis
Perfecto. Ya tenemos todo configurado. Ahora ajustaremos la hora del sistema para que no nos falle con el servidor, el cual asumimos que lo tenemos en hora:
# ntpdate hora.rediris.es
Crearemos los tickets Kerberos con el siguiente comando, necesitaremos el password del administrador del dominio:
# kinit administrador@DOMINIO.LOCAL
Solo si da problemas al recibir los tickets Kerberos volveremos a intentarlo con el nombre del dominio en minusculas:
# kinit administrador@dominio.local
Reiniciemos Samba y Windbind y comprobemos la configuración:
# /etc/init.d/samba restart
# /etc/init.d/winbind restart
# testparm
Uniremos la máquina al dominio con el siguiente comando:
# net ads join -S 192.168.1.1  -U administrador
Si les diese algún problema, prueben con el nombre del servidor Active Directory, en nuestro ejemplo PDC:
# net ads join -S pdc.dominio.local  -U administrador
Ahora solo nos queda comprobar que hemos hecho todo bien:
# net rpc testjoin
Si todo es correcto, nos mostrará un mensaje como este:
Join to ‘DOMINIO’ is OK
Ahora lo siguiente:
# net ads info­
Nos mostrará:
LDAP server: 192.168.1.1
LDAP server name: pdc.dominio.local
Realm: DOMINIO.LOCAL
Bind Path: dc=DOMINIO,dc=LOCAL
LDAP port: 389
Server time: jue, 2 jul 2009 14:36:04 CEST
KDC server: 192.168.1.1
Server time offset: 0
Ahora:
# net rpc info -U juanmi
Enter juanmi’s password:
Domain Name: DOMINIO
Domain SID: S-1-5-21-224523388-1220989662-682023330
Sequence number: 7529
Num users: 169
Num domain groups: 0
Num local groups: 12
# wbinfo -u
Nos dará los usuarios del dominio
# wbinfo -g
Nos dará los grupos del dominio
# getent passwd
Nos dará más información de los usuarios del dominio
# getent group
Nos dará más información de los grupos del dominio
Ahora solo nos queda reiniciar el equipo y comprobar que una vez metido el usuario y la contraseña en GDM podemos volver a lanzar los comandos de comprobación de arriba:
 # net rpc testjoin
# net ads info
# net rpc info -U juanmi
# wbinfo -u
# wbinfo -g
# getent passwd
# getent group
Ya podrán entrar en nuestro equipo los usuarios del dominio sin que se les pida password.

Happy Hacking!!!