Seguridad Samba
Mapear unidades de red en Linux
Voy a explicar paso a paso como podemos mapear unidades de red en Linux, para poder tener acceso al contenido.
Para el caso, son directorios compartidos en un Windows Server 2008, a lo que necesito tener acceso siempre, por lo que vamos a añadirlo al fstab, para que casa inicio del sistema se monte automáticamente (se asume que samba ya esta instalado)
Editamos el fstab.
# nano /etc/fstab
Añadimos una nueva línea al final del archivo, en donde tenemos que poner la información con el siguiente esquema.
//ip-equipo-windows/carpeta-compartida /ruta-punto-montaje auto,user,username=nombre-usuario,password=password-usuario 0 0
Ejemplo:
//10.0.2.15/publico /mnt/publico/ auto,user,username=administrador,password=inicial 0 0
Reiniciamos el fstab y podremos observar que ya tenemos la nueva unidad mapeada.
# mount -a
Cambiar contraseña de un dominio Windows
Para cambiar la contraseña de un usuario de dominio de Windows no es necesario ir a un PC Windows sino que se puede hacer desde el propio Linux. Para hacerlo sólo hay que abrir un terminal y ejecutar este comando:
# smbpasswd -r WindowsDC -U nombreUsuario
Donde WindowsDC es en este caso la dirección del controlador de dominio de Windows y nombreUsuario el usuario en el dominio.
Al ejecutar el comando pedirá la antigua contraseña en primer lugar y posteriormente pedirá la nueva.
Una vez hecho esto ya podemos hacer login con la nueva contraseña.
Agregar usuario
Suele pasar que cuando entras desde windows a una carpeta compartida en Linux, te pide usuario, para arreglar esto, puedes hacer lo siguiente.
# smbpasswd -a tu_usuario
Si deseas le pones contraseña por motivos de seguridad, y si no necesitas la contraseña solo dale Enter.
Cambiar contraseña usuario
Ahora que ya tenemos compartiendo la carpeta, nos queda crear un nombre de usuario y contraseña en el servidor Samba para que el computador con Windows pueda acceder a dicha carpeta, para ello abrimos una consola e introducimos:
# useradd -s /sbin/nologin usuario-windows
Donde usuario-windows es el usuario que va a acceder a la carpeta en Windows. Si /sbin/nologin no existe, probar con /usr/sbin/nologin.
Si no encuentras el archivo nologin, también puedes crear tu usuario normalmente y luego ejecutar el siguiente comando.
# passwd -d usuario-windows
A continuación introducimos:
# smbpasswd -a usuario-windows
Y nos pedirá la contraseña que queramos asignar a dicho usuario.
Reiniciar samba
Luego de efectuar algún cambio en el archivo /etc/samba/smb.conf debemos reiniciar samba, para ello:
# /etc/init.d/samba restart
Con todo lo anterior deberíamos ser capaces de entrar desde un equipo con windows o linux a la carpeta /home/public sin necesidad de tener nombre de usuario ni password.
Acceso a los recursos compartidos
Desde Windows
Para conectarnos a la carpeta compartida desde Windows colocamos en la barra de direcciones de alguna ventana la dirección IP del equipo y el nombre del directorio compartido (el nombre que pusimos en la configuración de samba, no necesariamente el del directorio real.
\\10.0.2.15\publico
Desde Linux
Debemos instalar el paquete samba-client. Luego, abrimos una carpeta y colocamos en la barra de direcciones:
smb://10.0.2.15/publico/
o
smbclient //10.0.2.15/publico/
Donde 10.0.2.15 es "la IP privada" del equipo Linux que contiene a la carpeta /home/public.