Conectar a los usuarios con los recursos compartidos

Ahora es el momento de comprobar desde el resto de los equipos de la red si podemos acceder a los elementos publicados en el servidor NAS.

27-May-2016

Conectar utilizando el explorador de archivos

URN del recurso

Para acceder a los elementos compartidos, podemos hacerlo utilizando el examinador de red de Windows o escribiendo en la barra de direcciones del explorador de archivos de Windows la ruta completa al recurso o URN (Uniform Resource Name o Nombre de Recurso Uniforme):

\\NombreNETBIOS\NombreRecurso o \\IPServidor\NombreRecurso.
Mostrar equipos de la red
Acceder mediante su URN

Como el servicio CIFS/SMB lo configuramos para el acceso con autenticación de usuario local, cuando intentemos acceder al servidor, nos solicitará el usuario y clave de alguna de las cuentas creadas en el servidor NAS con la que deseamos conectarnos. En función de la cuenta que utilicemos podremos acceder a determinados recursos, teniendo denegado el acceso a otros; es decir, si nos autenticamos con una cuenta del grupo administrativos, podremos acceder al recurso ‘administrativos’ y ‘publico’, pero no tendremos permiso para acceder a los recursos ‘administracion’ y ‘colegiados’. De igual manera si nos conectamos con una cuenta del grupo colegiados, podremos acceder a los recursos ‘colegiados’, ‘publico’ y ‘administrativos’, pero no tendremos permiso para acceder al recurso ‘administracion’.

Vamos a realizar una simulación accediendo al servidor desde una máquina con W7, utilizando una cuenta del grupo ‘administrativos’. Comprobaremos que se muestran los recursos compartidos, y que sólo tenemos acceso a los que el grupo de administrativos tienen permiso.

  • Iniciamos sesión con el usuario y clave de una cuenta del grupo de administrativos:

Las credenciales de autenticación se mantienen durante la sesión actual, teniendo que volver a validarnos en el siguiente inicio de sesión.

Si marcamos la casilla ‘Recordar mis credenciales’, cada vez que nos conectemos al servidor ya no será necesario realizar la autenticación.

Login usuario
  • Una vez validados los datos se nos mostrarán los recursos publicados en el servidor:
Recursos del servidor
  • Accedemos al recurso ‘administrativos’ y comprobamos que tenemos permisos de lectura/escritura creando una carpeta:
Crear carpeta en recurso compartido
  • Si volvemos hacia atrás para mostrar todos los recursos compartidos, he intentamos acceder a alguno para el que no tenemos permisos, como por ejemplo el recurso ‘Colegiados’ o ‘Administracion’, se nos mostrará un mensaje de advertencia indicándonos que no tenemos acceso al recurso.
Acceso denegado al recurso del grupo colegiados
Acceso denegado al recurso del grupo administracion

Con esta simulación, ya hemos comprobado que el servicio CIFS/SMB y los recursos publicados en el servidor funcionan de forma correcta y que el resto de los equipos de nuestra red pueden hacer uso de ellos, teniendo acceso sólo a los recursos en función del grupo al que pertenezca el usuario.

Conectar los recursos creando unidades de red

Si deseamos que un usuario se conecte automáticamente a los recursos del servidor para no tener que realizar los pasos de la conexión cada vez que quiera hacer uso de ellos, podemos:

  • Conectarlo utilizando unidades de red.
  • Utilizando un script de inicio de sesión que cree de forma automática unidades de red a los recursos que nos interesen.

Crear unidades de red

Si creamos unidades de red desde el explorador de Windows, será necesario haber marcado la casilla ‘Recordar mis credenciales’ en el cuadro de usuario y contraseña que nos aparece al conectarnos al servidor.
Una vez hayamos iniciado sesión en servidor NAS y se nos muestren los nombres de los recursos compartidos:

  • Mostrar menú contextual del recurso para el que deseamos crear la unidad de red y seleccionar la orden ‘Conectar a unidad de red…’.
Conectar a unidad de red
  • En el asistente para conectar a unidades de red:
    • Seleccionaremos la letra con la deseamos identificar al nuevo disco (por defecto nos ofrece siempre una letra que no se esté utilizando en nuestro sistema, comenzando desde la Z)
    • El nombre de la carpeta ya está establecido con la ruta de acceso al recurso compartido.
    • Si deseamos que se convierta en una unidad permanente de nuestro sistema, marcaremos la opción ‘Conectar de nuevo al iniciar sesión’. Si por el contrario sólo deseamos crear la unidad para esta sesión de trabajo, dejaremos desmarcada esta opción.
Conectar a unidad de red
  • Una vez completado el cuadro pulsamos el botón finalizar.
  • Desde el icono de Mi Equipo, tendremos acceso a nuevas unidades de disco que estarán conectadas a los recursos compartidos.
Unidades de red creadas

Crear scripts de inicio de sesión

Los scripts que podemos crear son variados, os voy a mostrar dos scripts distintos que sirven para el mismo fin (crear las unidades de red), uno con código cmd (procesamiento por lotes Batch) y otro con código vbs (Visual Basic Script).

Archivo unidades_red.cmd (con comandos de procesamiento por lotes)

@ECHO OFF

REM **** CREAMOS LAS VARIABLES DE ENTORNO ****
SET USUARIO=sec01
SET CLAVE=*******
SET PERSISTENTE=NO
SET SERVIDOR=\\srvnas
SET CARPETA1=administrativos
SET CARPETA2=publico

REM **** EJECUTAMOS EL COMANDO NET USE PARA CREAR LAS UNIDADES DE RED ****
net use X: %SERVIDOR%\%CARPETA1% %CLAVE% /user:%USUARIO% /PERSISTENT:%PERSISTENTE%
net use Y: %SERVIDOR%\%CARPETA2% %CLAVE% /user:%USUARIO% /PERSISTENT:%PERSISTENTE%

Archivo unidades_red.vbs (con instrucciones de Visual Basic Script)

Dim objNetwork 	' Objeto para crear las unidades de red
Dim Mapeos(1,1)	' Array donde indicamos las letras de las unidades y las rutas a los recursos

Usuario = "sec01"	' Nombre del usuario
Clave = "*******"	' Clave del usuario
Persistente=false	' No Hacer persistente la unidad de red

' INICIALIZAMOS EL ARRAY DE UNIDADES Y RUTAS
Mapeos(0,0) = "X:"
Mapeos(0,1) = "\\srvnas\administrativos"
Mapeos(1,0) = "Y:"
Mapeos(1,1) = "\\srvnas\publico"

' CREAMOS OBJETO NETWORK
Set objNetwork = Wscript.CreateObject("WScript.Network")

' RECOREMOS EL ARRAY DE MAPEOS PARA IR CREANDO LAS UNIDADES DE RED
For x = 0 to ubound(Mapeos)
	objNetwork.MapNetworkDrive Mapeos(x,0),Mapeos(x,1), Persistente, Usuario, Clave
Next

' DESTRUIMOS OBJETO NETWORK
set objNetwork= Nothing

Archivo desconectar_unidades_red.vbs (para realizar la desconexión de las unidades)

Dim objNetwork 	' Objeto para crear las unidades de red
Dim Mapeos(1)	' Array donde indicamos las letras de las unidades

' INICIALIZAMOS EL ARRAY DE UNIDADES
Mapeos(0) = "X:"
Mapeos(1) = "Y:"

' CREAMOS OBJETO NETWORK
Set objNetwork = Wscript.CreateObject("WScript.Network")

' RECOREMOS EL ARRAY DE MAPEOS PARA IR ELIMINANDO LAS UNIDADES DE RED
For x = 0 to ubound(Mapeos)
	objNetwork.RemoveNetworkDrive Mapeos(x),true
Next

' DESTRUIMOS OBJETO NETWORK
set objNetwork= Nothing

Una vez creado el script, tenemos que establecerlo como script de inicio del usuario, para ello podemos utilizar varios métodos:

  • Desde la consola de edición de directivas de grupo local.
  • Editando el registro de Windows.
  • Copiando el script en la carpeta de inicio del usuario.

Crear unidades de red en el inicio de sesión

Utilizar directivas de grupo

Por medio de las llamadas políticas de grupo local, podemos establecer el script de inicio de sesión que se ejecutará cada vez que un usuario inicie sesión en el ordenador.

Lo primero que tendremos que hacer es copiar nuestro script en la carpeta de scripts de inicio de sesión de Windows que se localiza en la ruta: C:\Windows\System32\GroupPolicy\User\Scripts\Logon.

  • Desde el menú de inicio o desde la ventana de comandos (ejecutar como administrador), escribimos gpedit.msc para abrir el editor de directivas de grupo local.
  • Desplegamos Configuración de usuario, Configuración de Windows y seleccionamos la directiva Scripts (inicio de sesión o cierre de sesión)
Editor de Directivas de Grupo Local
  • Nos mostrará la ventana de propiedades de inicio de sesión, desde donde añadimos scripts de inicio de sesión pulsando el botón ‘Agregar’.
Propiedades de inicio de sesión
  • Pulsamos el botón Examinar para indicar el nombre del script que deseamos añadir a la lista. Nos mostrará los scripts almacenados en la carpeta ‘Logon’, donde seleccionaremos nuestro script.
Agregar script de inicio de sesión
Examinar scripts en carpeta Logon (inicio sesión)
  • Aceptamos todos los cuadros de diálogo y cerramos el editor de políticas de grupo.
Script de inicio asignado

La próxima vez que el usuario inicie sesión en el equipo se ejecutará el script creándole las unidades de red.

NOTA: podrías establecer como script de Cerrar sesión el script ‘desconectar_unidades_red.vbs’.

Utilizar el registro de Windows

Ejecutamos el comando regedit para abrir el Editor del Registro de Windows.

  • Abrimos la rama HKEY_CURRENT_USER que pertenece al usuario actual y seguimos desplegando ramas hasta llegar a la ruta SOFTWARE\Microsoft\Windows\CurrentVersion\Run.
  • En el panel derecho, mostramos el menú contextual para crear un nuevo ‘Valor de cadena’.
  • Le asignamos un nombre por ejemplo unidades_red.
  • Establecemos el valor de la nueva variable ejecutando un doble click sobre su nombre.
  • En la ventana que se nos muestre indicamos la ruta de acceso al script de inicio de sesión que hemos creado, aceptamos y cerramos el editor del registro.
Crear variable en el registro de Windows
Asignar valor a la variable del registro de Windows

La próxima vez que el usuario inicie sesión en el equipo se ejecutará el script creándole las unidades de red.

Utilizar la carpeta de inicio del usuario

Esta segunda opción es la más sencilla de todas, ya que sólo consiste en copiar el script en la carpeta de inicio del usuario.

  • Primero ejecutamos la orden copiar sobre el archivo que contiene el script creado.
  • Mostramos en menú de inicio y pulsamos con el botón derecho del ratón sobre ‘Todos los programas’ y seleccionamos la orden Abrir.
  • En la ventana que se nos muestre abrimos la carpeta programas y a continuación la carpeta inicio. Pegamos el archivo del script y cerramos la ventana.
Examinamos la carpeta programas del menú de inicio
Pegamos el script en la carpeta de inicio del usuario

La próxima vez que el usuario inicie sesión en el equipo se ejecutará el script creándole las unidades de red.

Eliminar contraseñas de red almacenadas

Eliminiar contraseñas

Cuando deseemos conectarnos a otro recurso del servidor utilizando la cuenta de un usuario distinto, primero tendremos que eliminar las unidades de red actuales y las credenciales (contraseñas) que se hayan almacenado en el sistema.
Para eliminar las unidades de red podemos seguir los siguientes pasos:

  • Abrir Mi Equipo, mostrar el menú contextual de la unidad de red y seleccionar la orden Desconectar.
  • Mediante el comando net use desde la ventana de comandos:
net use LetraUnidad /delete -> para desconectar una unidad de red
net use * /delete -> para desconectar todas las unidades de red
  • Mediante el comando rundll32 desde la ventana de comandos:
rundll32.exe keymgr.dll, KRShowKeyMgr 

Este comando nos permite eliminar las credenciales o contraseñas de red que se almacenan cuando accedemos al servidor.

Nos mostrará una ventana con las contraseñas almacenadas en el sistema. Marcaremos la que deseemos eliminar y pulsaremos sobre el botón Quitar.

Contraseñas almacenadas