(→Para que monte automáticamente los archivos compartidos) |
|||
Línea 61: | Línea 61: | ||
La configuración en este archivo dependerá de que es lo que queremos montar. A continuación un ejemplo común. | La configuración en este archivo dependerá de que es lo que queremos montar. A continuación un ejemplo común. | ||
Modificar el archivo | Modificar el archivo | ||
− | */etc/security/pam_mount.conf.xml | + | */etc/security/pam_mount.conf.xml para Lihuen 3 |
− | + | <source lang="xml" | |
− | + | <?xml version="1.0" encoding="UTF-8"?> | |
− | + | <pam_mount> | |
− | + | <volume options="dmask=0750,workgroup=NOMBREDELDOMINIO" user="*" mountpoint="/home/%(USER)/Desktop/Usuario" path="%(USER)" server="IP_DEL_SERVIDOR" fstype="cifs" /> | |
− | + | </pam_mount> | |
− | + | </source> | |
− | + | ||
− | + | ||
+ | */etc/security/pam_mount.conf.xml para Lihuen 4 | ||
+ | <source lang="xml"> | ||
+ | <?xml version="1.0" encoding="utf-8" ?> | ||
+ | <!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd"> | ||
+ | <pam_mount> | ||
+ | <debug enable="0" /> | ||
+ | <volume options="dir_mode=0750,workgroup=NOMBREDELDOMINIO,user=%(USER)" mountpoint="/home/%(USER)/Desktop/Usuario" path="%(USER)" server="IP_DEL_SERVIDOR" fstype="cifs" /> | ||
+ | <mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other" /> | ||
+ | <mntoptions require="nosuid,nodev" /> | ||
+ | <logout wait="0" hup="0" term="0" kill="0" /> | ||
+ | <mkmountpoint enable="1" remove="true" /> | ||
+ | </pam_mount> | ||
+ | </source> | ||
Línea 129: | Línea 140: | ||
Para que poder loguearnos con gdm con estos usuarios debemos reiniciar gdm | Para que poder loguearnos con gdm con estos usuarios debemos reiniciar gdm | ||
invoke-rc.d gdm restart | invoke-rc.d gdm restart | ||
− | |||
=Como agregar grupos por defecto a los usuarios= | =Como agregar grupos por defecto a los usuarios= |
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.
Se detectaron problemas al unir al dominio clientes con Lihuen 3 (Basado en Debian Lenny) en redes con controladores de dominio con Debian Etch.
Es recomendable o bien actualizar el controlador de dominio a Debian Lenny, o bien compilar e instalar Samba 3.0.24 en los clientes.
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
# /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
Hay que modificar los siguientes archivos
account sufficient pam_winbind.so account required pam_unix.so
auth required pam_mount.so auth sufficient /lib/security/pam_winbind.so use_first_pass auth required pam_unix.so nullok_secure use_first_pass
session required pam_unix.so nullok_secure session required pam_mkhomedir.so skel=/etc/skel umask=0022 session optional pam_mount.so
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:
La configuración en este archivo dependerá de que es lo que queremos montar. A continuación un ejemplo común. Modificar el archivo
<pam_mount> <volume options="dmask=0750,workgroup=NOMBREDELDOMINIO" user="*" mountpoint="/home/%(USER)/Desktop/Usuario" path="%(USER)" server="IP_DEL_SERVIDOR" fstype="cifs" /> </pam_mount>
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd"> <pam_mount> <debug enable="0" /> <volume options="dir_mode=0750,workgroup=NOMBREDELDOMINIO,user=%(USER)" mountpoint="/home/%(USER)/Desktop/Usuario" path="%(USER)" server="IP_DEL_SERVIDOR" fstype="cifs" /> <mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other" /> <mntoptions require="nosuid,nodev" /> <logout wait="0" hup="0" term="0" kill="0" /> <mkmountpoint enable="1" remove="true" /> </pam_mount>
"/home/%(USER)/Desktop/Usuario" corresponde al punto donde se van a montar los archivos del usuario.
"%(USER)" en el campo path significa que busque el recurso que se llama como el nombre de usuario
Modificar en el archivo original de configuración de samba /etc/samba/smb.conf los siguientes parámetros y dejar el resto como está
[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 winbind separator = + winbind use default domain = yes winbind cache time = 10 domain master = no security = domain printing = cups printcap name = cups
Algunos comentarios
Rango de uids usados para los usuarios del dominio
Rango de gids usados para los usuarios del dominio
Directorio home de los usuarios (%U es reemplazado por el nombre de usuario y %D por el nombre de dominio)
Dominio por defecto
Separador entre el nombre de dominio y el nombre de usuario, por ejemplo en el dominio VENTAS el usuario carlos debería loguearse como: VENTAS+carlos
Si el usuario no se loguea como DOMINIO+nombreDeUsuario busca nombreDeUsuario en el dominio por defecto
Tiempo que se conservan los datos en cache
Aclara que no es un controlador de dominio
Especifica que hay un servidor de passwords
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 :
invoke-rc.d samba restart invoke-rc.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 línea de comando para comprobar que devuelva la lista de los usuarios del dominio.
Para que poder loguearnos con gdm con estos usuarios debemos reiniciar gdm
invoke-rc.d gdm restart
Los usuarios de que se autentiquen usando una cuenta remota no tendrán los grupos que por defecto que tienen los usuarios locales, pero es posible hacer que los tengan.
Para esto usaremos otro módulo de PAM pam_group.
Primero debemos agregar el módulo pam_group en la configuración en common-auth.
auth optional pam_group.so auth required pam_mount.so auth sufficient /lib/security/pam_winbind.so use_first_pass auth required pam_unix.so nullok_secure use_first_pass
Luego debemos configurar que grupos y en que condiciones deben asignarse estos grupos en /etc/security/group.conf.
Abajo detallo una configuración muy sencilla que otorga los grupos por defecto a cualquier usuario bajo cualquier circunstancia. El archivo group.conf tiene infinidad de opciones para hacer un control más fino de a que usuarios y en que circunstancias agregarles grupos.
*;*;*;Al0000-2400;lp,dialout,cdrom,floppy,audio,src,video,plugdev,users,fuse
Con agregar los grupos netdev y plugdev no es suficiente para que esto funcione para los usuarios del dominio, es necesaria alguna configuración extra.
La configuración que detallamos a continuación es la más sencilla y funciona pero al igual que con group.conf se puede hacer una configuración más especifica.
Debemos editar varios archivos de D-BUS, todos ellos en /etc/dbus-1/system.d
En los archivos hal.conf, nm-applet.conf y NetworkManager.conf debemos buscar las secciones policy que tengan el campo context="default" y cambiar las etiquetas que digan deny por allow dentro de esta sección.
Por ejemplo si encontramos esta configuración:
<policy context="default"> <deny send_interface="org.freedesktop.DBus.Introspectable" send_destination="org.freedesktop.Hal"/> <deny send_interface="org.freedesktop.Hal.Manager" send_destination="org.freedesktop.Hal"/> ...
La cambiamos por:
<policy context="default"> <allow send_interface="org.freedesktop.DBus.Introspectable" send_destination="org.freedesktop.Hal"/> <allow send_interface="org.freedesktop.Hal.Manager" send_destination="org.freedesktop.Hal"/> ...
Y después reiniciamos el equipo.
Por defecto vmware utiliza su propia configuración de PAM para las sesiones remotas, para poder utilizar el nombre de usuario y contraseña del dominio en un vmware server que resida en la máquina unida al dominio hay que modificar esta configuración para que quede como se detalla a continuación
#%PAM-1.0 @include common-auth @include common-account
http://foss.stat.unipd.it/mediawiki/index.php/Debian_Client_in_a_Samba_Domain
http://us1.samba.org/samba/docs/man/manpages-3/winbindd.8.html
http://www.geocities.com/wronski12/posix_ipc/index.html
http://www.kernel.org/pub/linux/libs/pam/modules.html
Ante cualquier duda o inconveniente no dudes en escribirnos un email a soportelihuen arroba linti.unlp.edu.ar (Sin los espacios) O visitar nuestros Foros. http://lihuen.linti.unlp.edu.ar/foros