Configuración de Samba

El siguiente paso es compartir los directorios para que los usuarios puedan acceder a los contenidos de las carpetas. Con este fin vamos a configurar el servicio samba para que nuestro Linux actúe como servidor principal de dominio .

Servicio netlogon

Se utiliza para contener los ficheros .bat o .cmd que se ejecutarán automáticamente en la máquina cliente al iniciar una conexión.

path: indica la ruta del directorio asociado al servicio.

guest ok: indica que admite usuarios invitados.

[netlogon]
        comment = Network Logon Service
        path = /home/netlogon
        read only = No
        guest ok = Yes

Según la configuración que hemos establecido (logon script) ejecutará un fichero bat por cada usuario y en tendremos que crearlos en este directorio. Lo más cómodo es crear un fichero base y poner el resto de los script como enlaces simbólicos a este fichero base, simpre claro que todos vayan a ejecutar el mismo. Si alguno tuviera que ejecutar una secuencia distinta de órdenes pues lo creamos independiente.

El contenido de los ficheros bat será similar a:

net use h: /HOME
net use t: \\web\datos
NET TIME \\web /SET /YES
net use

Servicio profiles

Este servicio indica donde se almacenan los perfiles de los usuarios. Según la configuración, se almacenará en el directorio personal del usuario dentro de profile.

[Profiles]
        path = /home/%U/profile
        browseable = No

Servicio printers

Este servicio indica que el servidor samba va a compartir sus impresoras.

printable: indica que el recurso corresponde a una impresora.

path: en este caso indica la ruta a un directorio de spool.

[printers]
        comment = Impresoras
        path = /var/spool/samba
        printable = Yes
        browseable = No

Directorios compartidos

Ahora especificamos los directorios en los cuales compartimos datos.

[datos]
        path = /var/datos
        browseable = Yes
        read only = Yes
[trabajo]
        path = /var/trabajo
        browseable = Yes
        read only = No

Usuarios en samba

Tendremos que crear los usuarios primero en unix:

useradd -d /var/www/html/direccion direccion
useradd -d /var/www/html/secretaria secretaria
useradd -d /var/www/html/publico publico

Observamos como estos usuarios los estamos creando con sus directorios personales en unas ubicaciones distintas a las habituales para los directorios personales para hacerlas coincidir con el DOCUMENT_ROOT de los servidores virtuales de Apache definidos anteriormente. En nuestro caso lo que nos interesea es que el directorio personal del usuario aparezca directamente en en el raíz árbol de documentos web, y esto lo tenemos que hacer combinando el DOCUMENT_ROOT de un VirtualHost con el directorio personal del usuario.

También podríamos haber hecho creando un enlace simbólico o definiendo el VirtualHost directamente en un directorio personal en /home.

Ahora asignarle una contraseña unix a esos usuarios. Ejecutamos:

passwd direccion
passwd secretaria
passwd publico

Por último tendremos que crear los usuarios en samba:

smbpasswd -a direccion
smbpasswd -a secretaria
smbpasswd -a publico

Para modificar la constraseña de un usuario samba siempre podemos ejecutar, como root, por ejemplo:

smbpasswd publico

Y con esto tenemos configurado el acceso mediante clientes Win32 a los directorios personales de los usuarios integrados en el árbol del servidor web apache.

En los clientes 9X tendremos que configurar el cliente para redes microsoft para que inicie una sesión en el dominio.

En los clientes 2000/XP tendremos que integrarlos en el dominio siguiendo el proceso habitual.

Una vez hecho esto, cada vez que iniciemos una sesión en el dominio por alguno es estos usuario, dispondrá de una unidad h: asociada al DOCUMENT_ROOT de un VirtualHost. Todo lo que contenga esta unidad es también accesible por parte del servidor web.

Tenemos que asegurarnos que el usuario que ejecuta el servidor web tiene permisos de lectura sobre los contenidos que queremos publicar.