Lihuen
RSSRSS AtomAtom

Diferencia entre revisiones de «Compartiendo usuarios en un dominio Windows preexistente»

(Configuración de PAM)
(Configuración de PAM)
Línea 52: Línea 52:
  
 
'''Para que monte automáticamente los archivos compartidos'''
 
'''Para que monte automáticamente los archivos compartidos'''
 +
 
Modificar el archivo  
 
Modificar el archivo  
 
*/etc/security/pam_mount.conf
 
*/etc/security/pam_mount.conf

Revisión de 11:06 28 sep 2007

Compartiendo usuarios y sus carpetas personales

Introducción

La idea de este documento es explicar paso a paso la manera en que podemos integrar máquinas con GNU/Linux Lihuen a un entorno de dominio Windows preexistente, de manera de que los usuarios puedan utilizar los recursos del mismo. Más concretamente, la posibilidad de autenticarse centralizadamente de manera que puedan utilizar cualquier estación de trabajo utilizando el mismo usuario y contraseña que en windows, acceder a los discos compartidos y utilizar las impresoras del dominio, siempre con los permisos definidos para ese usuario.

Instalando winbind y libpam-mount

Utilizamos winbind para autenticarse en el dominio Windows y libpam-mount para montar los recursos compartidos del dominio automáticamente.

# apt-get install winbind
# apt-get install libpam-mount

Configuración de Windbind en nsswitch.conf

  • Modificar /etc/nsswitch.conf para que quede como sigue
# /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:         compat

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

Configuración de PAM

Hay que modificar los siguientes archivos

  • /etc/pam.d/common-account
account sufficient pam_winbind.so
account required pam_unix.so
  • /etc/pam.d/common-auth
auth required pam_cups.so
auth required pam_mount.so use_first_pass
auth sufficient /lib/security/pam_winbind.so use_first_pass
auth required pam_unix.so nullok_secure use_first_pass 
  • /etc/pam.d/common-session
session required pam_unix.so nullok_secure
session required pam_mkhomedir.so skel=/etc/skel umask=0022
session optional pam_cups.so min_uid=10000
session optional pam_mount.so

Para que monte automáticamente los archivos compartidos

Modificar el archivo

  • /etc/security/pam_mount.conf
volume * smb NombreServidor & /home/&/Desktop/Usuario uid=&,gid=&,dmask=0750,workgroup=NombreDominio - -

"/home/&/Desktop/Usuario" corresponde al punto donde se van a montar los archivos del usuario.

Configuración de Samba para que se una al dominio

Agregar en el archivo original de configuración de samba /etc/samba/smb.conf lo siguiente

[global]
idmap uid = 10000-20000
idmap gid = 10000-20000
template shell = /bin/bash
template homedir = /home/%U
workgroup = NOMBREDELDOMINIO
winbind enum groups = yes
winbind enum users = yes

Agregando la máquina al dominio

Una vez que se completa la configuración de samba, hay que agregar la máquina al dominio: Primero reiniciamos el samba y el winbind :

# /etc/init.d/samba restart
# /etc/init.d/winbind restart

Y después lo agregamos al dominio:

# net join -U administrador dominio


Nos va a pedir el password de administrador del dominio lo introducimos y LISTO, estamos dentro del dominio, hacer un "getent passwd" desde la linea de comando para comprobar que devuelva la lista de los usuarios del dominio

Montando automáticamente los archivos compartidos

Modificamos el archivo /etc/security/pam_mount.conf

Para montar automáticamente los archivos compartidos del dominio una vez que los usuarios se loguean y desmontarlos una vez que se desloguean del sistema:

Este archivo dependerá de que es lo que queremos montar, dentro del mismo archivo están todas las opciones documentadas, sólo muestro lo necesario.

  • Agregar al final en /etc/security/pam_mount.conf
volume * smb reemplazarFILESERVER reemplazarRECURSO /home/winnt/& uid=&,gid=&,dmask=0750,workgroup=reemplazarDOMINIO - -

Para utilizar las impresoras del dominio

Vamos a instalar pam_cups que lo que hace básicamente es cachear las credenciales y presentarlas cada vez que se precisa interactuar con las colas definidas en cupsys.

instalar pam_cups http://sourceforge.net/projects/pam-cups/ (Antes de compilar hay que parcharlo, el parche está más abajo) bajar http://www.geocities.com/wronski12/posix_ipc/libmqueue-4.41.tar.gz.

Hay que bajar http://sourceforge.net/projects/pam-cups/ descomprimirlo, configurarlo, compilarlo e instalarlo. Antes de compilarlo en Debian hay que parchearlo para que compile, porqeu sino da error, el patch lo adjunto mas abajo.

Hay que generar el libmqueue.so, para eso, bajar libmqueue de la red, cualquier busqueda en google lo encuentra, compilarlo e instalarlo. Yo lo baje de http://www.geocities.com/wronski12/posix_ipc/libmqueue-4.41.tar.gz.

Generar el link simbólico /usr/lib/cups/backend/smb que apunta a /usr/bin/pam_cups_spool.

# ln -s /usr/bin/pam_cups_spool /usr/lib/cups/backend/smb

(Ojo que probablemente exista, estonces nos va a dar error, hay que borrar el link anterior, que apunta a la cola de samba por defecto)

Modificar el archivo /etc/init.d/cupscd Contenido:

#!/bin/sh
#
PATH=/bin:/usr/bin:/sbin:/usr/sbin
DAEMON=/usr/sbin/cupscd
OPTIONS=""

case "$1" in
start)
    echo -n "Starting cups cacher: cupscd "
    if start-stop-daemon --quiet --stop --signal 0 --exec $DAEMON
    then
        echo "[already running]"
    else
        /sbin/start-stop-daemon --start --quiet --exec $DAEMON -- $OPTIONS
        echo "."
    fi
    ;;
stop)
    echo -n "Stopping cups cacher: cupscd "
    if start-stop-daemon --quiet --stop --signal 0 --exec $DAEMON
    then
        start-stop-daemon --quiet --stop --exec $DAEMON
        echo "."
    else
        echo "[not running]";
    fi
    ;;
force-reload|restart)
    $0 stop
    sleep 1
    $0 start
    ;;
*)
    echo "Usage: /etc/init.d/cupscd {start|stop|restart|force-reload}"
    exit 1
esac

exit 0

Modificar el archivo /etc/cups/printers.conf Contenido:

<DefaultPrinter printer>
Info .
Location reemplazarDESCRIPCIONDELAUBICACION
DeviceURI smb://reemplazarPRINTERSERVER/reemplazarPRINTERNAME
State Idle
Accepting Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
</Printer> 


El pam_cups principalmente generara: /lib/security/pam_cups.so /usr/sbin/cupscd /usr/bin/pam_cups_spool /usr/lib/cups/backend/smb

Para que arranque siempre el cupscd, hacer un "update-rc.d cupscd defaults"

Recursos

http://foss.stat.unipd.it/mediawiki/index.php/Debian_Client_in_a_Samba_Domain

http://www.geocities.com/wronski12/posix_ipc/index.html

http://www.samba.org