6.7 Scripts de Entrada

Samba soporta la ejecución de scripts de entrada, que son scripts (.BAT o .CMD) que se ejecutan en el cliente cuando un usuario se conecta a un dominio Windows NT. Fíjate en que estos scripts se almacenan en el equipo Unix, pero son transportados a través de la red hasta el cliente y ejecutados una vez que el usuario se conecta. Tienen un valor incalculable como herramientas para configurar opciones de red para los usuarios cuando se conectan. El problema es que, como funcionan en Windows, deben usar los comandos de configuración de red de Windows.

AVISO: Si deseas mas información sobre los comandos NET, te recomendamos el libro de Eric Pearce's 'Windows NT in a NutShell', publicado por O'Reilly.
Puedes indicar a Samba que utilice un script de entrada con la opción logon script, por ejemplo:

[global]
  domain logons = yes
  security = user
  workgroup = SIMPLE
  os level = 34
  local master = yes
  preferred master = yes
  domain master = yes
  logon script = %U.bat

[netlogon]
  comment = The domain logon service
  path = /export/samba/logon
  public = no
  writeable = no
  browsable = no

Fíjate en que en este ejemplo se usa la variable %U, que va a individualizar el script basándose en el usuario que se está conectando. Es una práctica común personalizar los scripts basándose en el nombre de usuario o del equipo que se está conectando. Estos scripts pueden usarse para configurar parámetros individuales para los usuarios o para los equipos cliente.

Cada script de entrada ha de ser grabado en la raíz del recurso [netlogon]. Por ejemplo, si la raíz del recurso [netlogon] es /export/samba/logon y el script de entrada es jeff.bat, el fichero debe estar grabado en /export/samba/logon/jeff.bat. Cuando un usuario se conecte a un dominio que contenga scripts de entrada, verá una pequeña ventana de dialogo que le informa de que el script se está ejecutando, y también verá en una ventana tipo DOS todas las salidas que genere ese script.

Un aviso: Debido a que estos scripts son cargados por Windows y ejecutados en el lado del cliente Windows, su formato ha de corresponder con caracteres de retorno de carro y nueva línea de DOS y no con los caracteres estándar de retorno de carro de Unix. Es mejor utilizar un editor basado en DOS o Windows para escribirlos.

El siguiente es un ejemplo de un script que establece la hora del equipo cliente para que coincida con la hora del servidor Samba y crea dos unidades de red h e i, que apuntan a distintos recursos compartidos en el servidor:

# Reset the current time to that shown by the server.
# We must have the "time server = yes" option in the
# smb.conf for this to work.
  echo Setting Current Time...
  net time \\hydra /set /yes

# Here we map network drives to shares on the Samba
# server echo Mapping Network Drives to Samba Server Hydra...
  net use h: \\hydra\data
  net use i: \\hydra\network



Subsections
TLDP-ES 03/11/2002