Samba
A page with information about Samba and how to use it to share files with Windows can be found at http://lpi.aluzina.org/wiki/Plantilla:Samba
Here a copy of it:
- El nombre samba viene del protocolo SMB (Server Message Block), usado extensivamente en Microsoft Windows mediante el protocolo NBT (NetBIOS over TCP/IP). CIFS es la continuación del protocolo SMB y tiene múltiples mejoras. Soportado completamente a partir de Windows 2000 y Samba 3.
- Miramos qué ficheros contiene el paquete samba: equery f samba.
Contingut
Como cliente
- smbclient. Es como un cliente ftp para trabajar con recursos compartidos, se conecta al recurso y permite bajar y subir archivos.
- smbmount. Es el mecanismo de montaje de recursos compartidos SMB/CIFS. Para ello, hay que activar en el núcleo esa opción (File Systems/Network FileSystems/CIFS o SMB). También se puede hacer con el net-fs/fusesmb.
- Acceso modo gráfico: aplicación smb4k y Kde I/O slave smb:/.
Como servidor
- Fichero de configuración /etc/samba/smb.conf.
- Se parece a los ficheros de configuración .ini de Windows. Hay una sección principal [global] y luego cada recurso compartido se especifica mediante nuevas secciones, al final. Se pueden comprobar todas sus opciones mediante el comando testparm -v. Algo así como hacíamos con el postfix con el comando postconf.
Un servidor puede actuar en modo grupo de trabajo o en modo PDC, como grupo de trabajo:
- Variable workgroup.
- Añadir recursos compartidos al final del fichero, como secciones aparte. Las variables que controlan los recursos compartidos más importantes son:
- path. La más importante, indica dónde se guardan los ficheros.
- comment. Comentario que sale en la barra de información del explorador de Windows.
- public, sinónimo de guest ok. No hace falta autentificarse para usar el recurso compartido, se utilizará la cuenta de guest.
- writable. Se puede escribir.
- printable. Es una impresora (se gestionan como un recurso más).
- create mask. Con qué máscara se crean los ficheros nuevos.
Autentificación en Samba
Como servidor
- Base de datos de usuarios en otro fichero: /var/lib/samba/private/smbpasswd (variable smb passwd file). Por qué no usar el /etc/shadow ?! Es imposible por el protocolo a partir de Windows 2000. Las contraseñas ya se envían encriptadas desde el cliente. Por lo tanto, habrá dos bases de datos de contraseñas distintas en nuestro sistema: el /etc/shadow y el smbpasswd, el primero se controla con los comandos useradd y passwd y el segundo con smbpasswd. Para utilizar samba autentificando con un usuario, éste tiene que estar dado de alta en el smbpasswd!!!
- Nivel de seguridad: (variable security):
- SHARE. El usuario no importa, se ponen contraseñas por recurso compartido.
- USER. El método por defecto. Se inicia sesión con el usuario en cuestión antes de intentar acceder al recurso compartido.
- DOMAIN. Es igual que USER pero las contraseñas de validan en otro PDC, si el servidor ha sido añadido como máquina a este otro dominio.
- SERVER. Igual que DOMAIN, la petición de autentificación va a otro servidor, pero no tiene que ser miembro del dominio.
Como cliente
- En máquina local: pam_smbpass, ya viene instalado con la suite Samba.
- Autentificar en máquina remota: pam_winbind. Como esto no es muy frecuente, ya que normalmente se usa Linux como servidor Samba, esto no lo veremos.
Configurar Samba como PDC (Primary Domain Controller)
En Samba 3:
- Editar el fichero de configuración /etc/samba/smb.conf. Y añadir las siguientes variables:
- workgroup = DOMINIO
- domain logons = Yes
- quitar comentario en el recurso netlogon.
- En Ubuntu: comentar la línia "invalid users = root"
- Creamos un grupo para las estaciones del dominio: groupadd smbstation
- Para cada máquina que vaya a entrar en el dominio:
- useradd -s /bin/false -g smbstation nombredemaquina\$ -c 'maquina xp'
- smbpasswd -a -m nombredemaquina
- Para cada usuario que vaya a entrar en el dominio:
- useradd ... (si no estaba ya creado en unix, tiene que existir un usuario real).
- smbpasswd -a usuario (y ponemos la contraseña samba).
- Creamos una contraseña al usuario root (mapeado como Administrador):
- smbpasswd -a root
En Microsoft Windows XP Professional:
- Coger el editor de registro: regedit y en el directorio:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
Cambiar la clave RequireSignOrSeal y ponerla a 0.
- En el menú inicio, botón derecho en Mi PC, pestaña Nombre de equipo, botón Cambiar... (nombre de equipo o unirse a un dominio). Sale un cuadro: ponemos el mismo nombre de equipo que pusimos en el useradd, y luego seleccionamos dominio y escribimos el nombre del dominio. A continuación sale otro cuadro para autentificar. Ponemos usuario: "root", contraseña la que pusimos en el último paso del Samba.
- Hay que reiniciar.
Info. sacada de Convirtiendo Samba en PDC.
Perfiles
- Configuración local del usuario C:\Documents and Settings\Usuario\. Hay de tres tipos:
- Perfiles locales. Están siempre en el cliente. (variable logon path dejarla vacía)
- Perfiles móviles (roaming). Están en el servidor y se van copiando en los clientes.
- Perfiles mandatorios. Están en el servidor pero no pueden modificarse desde los clientes.
En la configuración por defecto, ya viene el perfil móvil configurado en el /home/usuario/profile/, pero este mecanismo es muy ineficiente y inoperativo, ya que cuando empieza a crecer (normal) el inicio de sesión puede tardar minutos y es preciso redireccionar carpetas y optimizar la carga. Un documento interesante está en Samba & Windows Profiles.
Scripts de entrada
La ejecución de scripts de entrada, son scripts (.BAT o .CMD) que se ejecutan en el cliente cuando un usuario se conecta a un dominio Windows NT. La variable es logon script = %M.bat (mirar la sección de sustitución de variables en el smb.conf). Esto se ejecuta del recurso netlogon. El %M.bat podría tener algo así como:
net use h: \\cafe\usuario
Muy útil para poner el /home en una unidad al entrar.