compartir linux samba windows

21
Samba Compartir directorios en Linux Consideraciones a tener en cuenta: 1 - La implementación de acl + cifs no es exactamente samba si bien todo esto puede funcionar en conjunto. 2- En caso de tener implementado el protocolo afp de apple en redes con sistemas ubuntu el comportamiento predeterminado de nautilus es descubrir afp y no samba. En cuyo caso debemos conectarnos vía nautilus con conectar a servidor o con comando explícito smb://. 3 - Tener en cuenta que en un ambiente Linux Microsoft principalmente con sistemas mixtos 7 y 8 que tiene comportamientos distintos y aún mas con xp. Sobrecarga de permisos Puede ocurrir que exista contradicción entre los permisos del sistema Unix y los permisos del sistema samba, por ejemplo, podemos tener una carpeta compartida llamada almacen- software con permisos Unix de lectura, escritura y ejecución para todos, en cambio si en el sistema samba el archivo de configuración de samba, dicho recurso tiene el parámetro read only = yes, no será posible realizar cambios ya que está compartido con permiso de 'solo lectura'. Cuando los permisos Unix se contradicen con los permisos samba, el permiso efectivo es el más restrictivo de los dos. Para simplificar la administración de los permisos, se recomienda no ser restrictivos en los permisos de recurso compartido con samba y aplicar los permisos en el Sistema Unix, de esta forma, además de ser efectivos cuando accedemos a través de samba, también lo seguirán siendo si accedemos de otra forma como por ssh, ftp, o nos sentamos en la consola del servidor. En caso de necesitar un directorio con restricciones de lectura/escritura por parte algún usuario recordar que los permisos se heredan del directorio padre y si queremos que cada subdirectorio tenga sus propios permisos en principio habría que utilizar samba en combinación con ACL´s o listas de acceso. Si no en todo caso colocar el directorio en otra línea del árbol. Paquetes necesarios Paquetes samba-linux, los coloreados son opcionales. cif-utils nbtscan samba * smb4k smbclient smbc smbfs 1-21

Upload: p

Post on 02-Oct-2015

81 views

Category:

Documents


3 download

DESCRIPTION

Todos los caso particulares de una red peer to peer mixta plataforma linux incluye windows 7 - 8

TRANSCRIPT

  • SambaCompartir directorios en Linux

    Consideraciones a tener en cuenta:

    1 - La implementacin de acl + cifs no es exactamente samba si bien todo esto puede funcionar en conjunto.2- En caso de tener implementado el protocolo afp de apple en redes con sistemas ubuntu el comportamiento predeterminado de nautilus es descubrir afp y no samba.En cuyo caso debemos conectarnos va nautilus con conectar a servidor o con comando explcito smb://.3 - Tener en cuenta que en un ambiente Linux Microsoft principalmente con sistemas mixtos 7 y 8 que tiene comportamientos distintos y an mas con xp.

    Sobrecarga de permisos

    Puede ocurrir que exista contradiccin entre los permisosdelsistemaUnix y los permisosdelsistemasamba, por ejemplo, podemos tener una carpeta compartida llamada almacensoftware con permisosUnix de lectura, escritura y ejecucin para todos, en cambio si en el sistemasamba el archivo de configuracin de samba, dicho recurso tiene el parmetro readonly=yes, no ser posible realizar cambios ya que est compartido con permiso de 'sololectura'.

    Cuando los permisos Unix se contradicen con los permisos samba, el permiso efectivo es el ms restrictivo de los dos. Para simplificar la administracin de los permisos, se recomienda no ser restrictivos en los permisosde recurso compartido con samba y aplicar los permisos en el Sistema Unix, de esta forma, adems de ser efectivos cuando accedemos a travs de samba, tambin lo seguirn siendo si accedemos de otra forma como por ssh, ftp, o nos sentamos en la consola del servidor.

    En caso de necesitar un directorio con restricciones de lectura/escritura por parte algn usuario recordar que los permisos se heredan del directorio padre y si queremos que cada subdirectorio tenga sus propios permisos en principio habra que utilizar samba en combinacin con ACLs o listasdeacceso.Si no en todo caso colocar el directorio en otra lnea del rbol.

    Paquetes necesarios

    Paquetes sambalinux, los coloreados son opcionales.

    cifutilsnbtscan

    samba *smb4k

    smbclientsmbcsmbfs

    1-21

  • smbnetfs

    winbind

    ntfs3g * ntfsconfig ntfsprogs

    Tenemos los programas (paquetes) en modo grfico Ubuntu 12.04 a 14.04 entre otros:

    gadminsambasambaswat actuanlmente no disponible enel repsoitorio Ubuntu

    Apple

    Totalmente opcionales y solo en el caso estrictamente necesario

    netatalk paquete con implementacin protocolo netatlak de apple con afpsamba v2

    afpfsngutils paquete de implementacin cliente para Apple Filing Protocol AFP y utility programs

    Consideraciones bsicas de seguridad de red

    Eventualmente en el caso de tener un firewall o cortafuegos en el sistema Samba y Samba Client abrir los puertos (puede que 135 y 136 no sean necesarios):

    udp 135136137138139tcp 139445

    Tambin eventualmente en la configuracin de samba comprobar la interfaz correspondiente como deconfianza.

    Relacin con los servicios o demonios

    TCP 139 smbdTCP 445 smbdUDP 137 nmbdUDP 138 nmbd

    Administracin modo grfico fcil

    Nautilus nautilusshare

    Extensin de nautilus para compartir carpetas usando samba.Aplicacin sambaconfig dentro de gnome sistema o preferenciasSe ven otras alternativas mas adelante.

    Administracin modo comando

    Existen 2 maneras de darle permisos sobre una carpeta compartida:

    2-21

  • 1 Dejar el propietario y grupo original y modificar permisos.

    sudochmodR777nombre_carpeta

    2 Cambiar el propietario y grupo por nobody nogroup

    sudochownRnobody.nogroupnombre_carpeta

    Usuarios Password o contraseas samba-linuxConsideraciones

    Las cuentas entre el servidor Samba y las mquinas Windows deben estar sincronizadas. El usuario y su clave de una mquina con Windows en el servidor Samba debe existir con ese nombre y esa clave.Se lo da de alta sin loguin Linux y se establece su password con los siguientes comandos:

    sudouseradds/sbin/nologinusuariowindowssudosmbpasswdausuariowindows

    Si no queremos utilizar contraseas tal vez conviene definir el nombre de usuario de linux igual al de windows o viceversa aunque no es estrictamente necesario que tenga el mismo nombre.Por otro lado sino queremos que nos pida usuario y passwd en los sistemas microsoft debemos asignarle a este usuario el passwd nulo en sambalinux para que cuando accedamos desde mquinas microsoft a lo sumo nos los pida 1 sola y lo memorice y luego ya no lo pida mas.Para esto si deseamos ponerle contrasea por motivos de seguridad:

    sudosmbpasswdausuariolinux

    Si no necesitamos la contrasea solo darle enter.

    Cambiar contrasea de un usuario en un dominio Windows desde Ubuntu

    Para cambiar la contrasea de un usuario de dominio de Windows no es necesario ir a un sistema Windows sino que se puede hacer desde el propio Ubuntu.Para hacerlo slo hay que abrir un terminal y ejecutar este comando:

    smbpasswdrWindowsDCUnombreUsuario

    Donde WindowsDC es en este caso la direccin del controlador de dominio de Windows y nombreUsuario el usuario en el dominio. Al ejecutar el comando pedir la antigua contrasea en primer lugar y posteriormente pedir la nueva. Una vez hecho esto ya podemos hacer login con la nueva contrasea.

    Crear y eliminar usuarios samba modo comando

    Para samba se pueden utilizar 3 tipos de usuarios diferentes:

    usuarios linux con loguin en linux tambin usuarios sambausuarios samba sin loguin en linux.

    3-21

  • Dentro del ltimo grupo tenemos 2 opciones:

    usuarios nologinusuarios /bin/false

    Usuarios linux del tipo nologin

    Crear usuario sin loguin en el sistema Linux:(ver mas abajo usuarios linux tipo /bin/false)

    sudouseradds/usr/sbin/nologinrecepcionsudopasswdrecepcionsudosmbpasswdarecepcion

    Crear grupoEn linux:

    sudogroupaddgruposudogroupaddrecepcion

    Modificar grupo:

    sudousermodgusuariosrecepciongroupsrecepcionsudousermodGusuarios,sambientalrecepcion

    Eliminar usuario de samba y luego de Linux:

    sudosmbpasswdxrecepcionsudodeluserrecepcion

    Agregar grupo de no loguin en Linux a samba y 1 usuario de samba a este grupo de samba.Creamos el grupo llamado gruposamba:

    sudouseradds/sbin/nologingruposamba

    creamos y agregamos el usuario llamado ususamba al grupo

    sudouseraddggruposambas/sbin/nologinususamba

    Usuarios linux tipo /bin/false

    Tambin podemos ser mas drsticos y en vez de utilizar un usuario nologin podemos usar el tipo/bin/false con no shell no passwd en el sistema Linux y tambin funciona.Tratamos al usuario linux dentro de samba de la misma manera ya sean del tipo nologin o /bin/false.

    Por ejemplo:

    sudoaddusershell/bin/falsenocreatehomedisabledpasswordususamba

    sudoaddusershell/bin/falsenocreatehomedisabledpasswordususamba

    4-21

  • Aadiendoelusuario`ususamba'...Aadiendoelnuevogrupo`ususamba'(1001)...Aadiendoelnuevousuario`ususamba'(1001)congrupo`ususamba'...Nosecreaeldirectoriopersonal`/home/ususamba'.CambiandolainformacindeusuarioparaususambaIntroduzcaelnuevovalor,opresioneINTROparaelpredeterminado

    Nombrecompleto[]:ususambaNmerodehabitacin[]:Telfonodeltrabajo[]:Telfonodecasa[]:Otro[]:

    Escorrectalainformacin?[S/n]s$

    Luego asignamos passwd a ususamba

    sudosmbpasswdaususamba

    Para eliminar al usuario de samba y luego del sistema Linux:

    sudosmbpasswdxususambaDeleteduserususamba.sudouserdelususamba

    Luego si queremos eliminar el grupo:

    sudogroupdelgruposamba

    Agregar usuario en samba

    Suele pasar que cuando entramos desde windows a una carpeta compartida en ubuntu, pide usuario y contrasea o passwd, podemos hacer lo siguiente:

    sudosmbpasswdatu_usuario

    si deseamos ponerle contrasea por motivos de seguridad.

    Si no necesitamos la contrasea solo darle enter.

    Otras opciones de smbpasswd

    d Deshabilitar un usuario e Habilitar un usuario n Usuario sin password

    este parmetro necesita en seccin 'global' del archivo de configuracin de samba smb.conf:

    nullpasswords=yes

    -x Elimina el usuario -m Indica que es una cuenta de mquina (equipo) pero en dominios

    5-21

  • Asignacin de passwd y/o habilitacin de usuarios al servicio samba en la mquina que comparte elrecurso sobre un usuario existente en linux

    sudosmbpasswdanombredeusuario_linux

    Ejemplo de salida asignacin de passwd samba al usuario g

    sudosmbpasswdag[sudo]passwordforg:NewSMBpassword:RetypenewSMBpassword:Addeduserg.

    Para ms informacin se puede consultar la pgina del manual de smbpasswd.

    Cambiar usuario

    Ahora que ya tenemos compartidoa la carpeta, nos queda crear un nombre de usuario y contrasea en el servidor Samba para que el ordenador con Windows pueda acceder a dicha carpeta, para ello abrimos una consola e introducimos:

    sudouseradds/sbin/nologinusuariowindows

    La lnea anterior nos permite crear un usuario en el sistema Linux que tenga el mismo nombre que el cliente windows (o sea la mquina que se conectar a nuestra carpeta compartida Linux) pero conlogin nulo en Linux por cuestiones de seguridad y practicidad.Luego a este pseudo usuario de Linux nos permitir crearlo y asignarlo al sistema samba.

    Donde usuariowindows es el usuario que va a acceder a la carpeta desde Windows.

    Si /sbin/nologin no existe, probar con /usr/sbin/nologin.

    Si no encuentra el archivo nologin, tambin podemos crear tu usuario normalmente (que se ejecutaen Linux o sea tiene login en Linux) y luego ejecutar la sentencia:

    sudopasswddusuariowindows

    Luego lo asignamos con un passwd a samba

    sudosmbpasswdausuariowindows

    A continuacin nos pedir la contrasea que queramos asignar a dicho usuario.

    Para deshabilitar un usuario cualquiera de sambalinux

    sudosmbpasswddusuariolinuxsudosmbpasswddusuariowindows

    Para eliminar un usuario cualquiera de samba-linux

    sudosmbpasswdxusuario

    6-21

  • Para reiniciar samba

    Luego de efectuar algn cambio en el archivo /etc/samba/smb.conf debemos reiniciar samba, para ello:

    sudo/etc/init.d/sambarestart

    sudoservicesmbdrestart

    Eventualmente tambin reiniciar el demonio nmbd:

    sudoservicenmbdrestart

    El comando anterior es utilizado para publicar o republicar el nombre netbios o los recursos propios en la red, principalmente cuando quedan invisibles desde sistemas Microsoft y/o solo accesibles por ip y no por resolucin de nombres.

    Ojo en Ubuntu 10.04 LTS y 10.10 el comando anterior no va, debemos utilizar este:

    sudorestartsmbd

    Con todo lo anterior deberamos 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.Desde la perspectiva de un cliente al igual que sucede en los sistemas Windows, Samba ofrece dos modos de seguridad, denominados :

    share y user:

    En el modo share, cada vez que un cliente quiere utilizar un recurso ofrecido por Samba, debe suministrar una contrasea de acceso asociada a dicho recurso.

    En el modo user, el cliente debe establecer en primer lugar una sesin con el servidor Samba, para lo cual le suministra un nombre de usuario y una contrasea.Una vez que Samba valida al usuario, el cliente obtiene permiso para acceder a los recursos ofrecidos por Samba.

    La seleccin del nivel de seguridad se realiza con la opcin security , la cual pertenece a la seccin:

    [global].

    Sus alternativas son las siguientes:

    security=share|user|server|domain

    Desde la perspectiva del cliente, el nivel share corresponde al mododeseguridad share y los niveles:

    user, server y domain

    Estos corresponden todos ellos al mododeseguridaduser.A continuacin se describen someramente los cuatro niveles.

    7-21

  • El nivelshare es utilizado normalmente en entornos sin un dominio NT, dado que es complejo y costoso el mantenimiento de una tabla de usuarios global para la red. En el niveluser, valida al usuario del sistema Unix donde se ejecuta samba.

    La validacin es idntica a la que se realizara si el usuario iniciase una sesin local en el ordenador Unix. Para que este mtodo sea aplicable, es necesario que existan los mismos usuarios y con idnticas contraseas en los sistemas Windows y en el sistema Unix donde Samba se ejecuta.

    Tratamiento de los accesos como invitado

    Cuando se utiliza el nivel de seguridad domain, el tratamiento de los accesos como usuario invitado requiere algunas consideraciones.En primer lugar, samba considera a un usuario como invitado slo cuando este usuario est dado de alta en el dominio NT al cual pertenece samba pero no est dado de alta en el sistema Unix donde samba se ejecuta.De esta forma, usuarios de otros dominios (en los que no se confa) no pueden acceder a Samba, ni siquiera como invitados.

    Para conseguir que usuarios ajenos al dominio NT se consideren invitados, es necesario activar la siguiente opcin en la seccin:

    [global]:maptoguest=BadUser

    De esta forma, cualquier usuario no conocido ser tratado como invitado.Samba considerar que los accesos al sistema de ficheros Unix los realizar el usuario especificado en la opcin globalguestaccount.

    En cualquier caso, el acceso como invitado debe permitirse expresamente para cada recurso con la opcin guestok. Para preservar y evitar conflictos entre los permisos de nobody.nogroup de samba y los usuarios grupos locales propietarios de las carpetas compartidas en la definicin de instancia de cada recursoaadir al bloque del recurso en el smb.conf.

    forceuser=userforcegroup=group

    Si desea controlar los permisos de archivo que puede utilizar:

    forcecreatemode

    Para los permisos de directorio que puede utilizar

    forcedirectorymode

    con esto podemos interactuar con los archivos y carpetas desde la red y local sin conflictos, ajustar user y group a las necesidades del caso

    Samba requiere autenticar una cuenta, para lo que necesita un nombre de usuario y una contrasea. Por ello, para montar un recurso samba o smb se utiliza un comando especfico (como root o sudo),denominado smbmount, cuya utilizacin es la siguiente:

    8-21

  • smbmount//ordenador/recursogrupo_de_trabajo_o_dominodirectorio_localUnombre_de_usuarioW

    Tras ejecutar este mandato se requiere la introduccin de la contrasea.Si elservidor SMB valida al usuario, a partir del directorio directorio_local se consigue el acceso al recurso//ordenador/recurso. Para desmontar:

    umount//ordenador/recurso

    Ejemplo completo

    Funciona en clientes Linux y microsoft w7

    Condiciones: se comparten 2 carpetas en un sistema Linux bajo samba.1 carpeta llamada red con acceso irrestricto lectura escritura de invitados1 carpeta llamada red 2 con control de cuenta o sea usuario y passwd

    Opcional:

    Eventualmente agregar los usuarioslocales a sambasin password y a los gruposnobodynogroup de linux.En algunos casos dependiendo de la configuracin global y las distintas versiones de linux samba y windows

    Tendremos que generar los usuarios windows en linux pero sin loguin correspondientes a los clientes windows y luego agregarlos al samba-linux pero sin passwd, esto har un loguin transparente para los clientes windows al samba-linux.

    Eventualmente esta tcnica puede ser utilizada para crear cuentas de usuario virtuales a carpetas protegidas con usuario y passwd en samba-linux.

    Veamos los pasos:

    Asignacin de passwd sobre un usuario existente en linux al servicio samba en el mismo sistemalinux que comparte el recurso.

    sudosmbpasswdanombredeusuario_linux

    Ambas carpetas estn definidas como

    sudochownRnobody.nogroupredsudochownRnobody.nogroupred2

    sudochmodR7777redsudochmodR777redsudochmodR7777red2

    En la mquina que sirve estos recursos se crearon las cuentas necesarias para su acceso desde los distintos usuarios o clientes en este caso las cuentas usu y pp de clientes windows:

    9-21

  • usupp

    Estas cuentas son de acceso nulo en el sistema Linux.

    Ejemplo usu

    usuario: usupasswd: 1234

    Creamos el usuario usu en el sistema Linux (ni siquiera hace falta passwd):

    sudouseradds/sbin/nologinusu

    Creamos el usuario usu en el sistema sambaLinux y le asignamos passwd samba:

    sudosmbpasswdausu

    Archivo bsico resultante de configuracin smb.conf

    #Funcionaenubuntu

    [global]

    serverstring=seru1264workgroup=ESnetbiosname=seru1264maptoguest=baduserusernamemap=/etc/samba/smbusersencryptpasswords=true

    panicaction=/usr/share/samba/panicaction%d

    [red]

    security=sharepath=/home/g/red/public=yesreadonly=nonullpassword=yesguestok=yesbrowseable=yeswritable=yesforceuser=gforcegroup=users

    [red2]

    security=userpath=/home/g/red2/browseable=yesguestok=nonullpassword=novalidusers=usu,ppreadlist=usu,ppwritelist=usu,pp

    10-21

  • forceuser=gforcegroup=users

    Otra forma vlida de realizar el uso compartido pblico sin usuario y/o contrasea o password desde los distintos clientes ya sean windows o linux es el usuario nobody sin contrasea.

    sudosmbpasswdannobody

    lo anterior nos crear el usuario nobody en samba sin contrasea.

    Para completar esto cada vez que un usuario quiere acceder a este recurso compartido como invitado, tendr que hacerlo iniciando sesin como "nobody".Ahora tenemos una configuracin de Samba pblica perfectamente vlida.Pero para esto debemos agregar algunas pautas a global del smb.conf como:

    [global]#...guestaccount=nobody

    maptoguest=baduser

    Directorios compartidos protegidos con passwd

    Veamos una configuracin de ejemplo mixta carpetas de libre acceso al pblico como en la seccin anterior y las carpetas protegidas por cuentas de usuario quedara agregar al smb.conf algo parecido a esto:

    En samba no podemos (por lo menos de manera fcil) colocar o anidar un directorio con passwd dentro de otro directorio compartido de acceso irrestricto ya que este hereda los permisos y por lo tanto sera de libre acceso.Volvamos al ejemplo:

    [red]

    path=/home/g/red/security=userbrowseable=yesguestok=nonullpassword=novalidusers=usu,ppreadlist=usu,ppwritelist=usu,pp

    Luego de testparm en realidad queda as:

    [red]

    path=/home/g/red/validusers=usu,ppreadlist=usu,ppwritelist=usu,pp

    No hacen falta las definiciones borradas en el nuevo esquema de samba.

    11-21

  • Nota importante:La anterior configuracin de directorio con contrasea solo funciona con Linux y 7.No funciona con ambiente mixto microsoft, solo con 7.No funciona con xp ni 8 no nos deja acceder al recurso con passwd, funciona siempre y cuando hagamos otros ajustes.------------------------------------------------------------------------------------------------------------------

    Nivel de protocolo samba

    clientmaxprotocol(G)

    El valor del parmetro (una cadena) es el nivel de protocolo ms alto que ser apoyado por el cliente. Los valores posibles son:

    CORE: Versin de apertura sin ningn concepto de nombres de usuario.

    COREPLUS:Ligeras mejoras de eficiencia en el ncleo.

    LANMAN1: Primer versin moderna del protocolo con soporte para nombres largos de archivo.

    LANMAN2: Actualizacin del protocolo anterior.

    NT1: Actual versin actualizada del protocolo anterior utilizado hasta windows NT.Conocido como CIFS.

    SMB2: Re implementacin del protocolo SMB utilizado a partir de Windows Vista y versiones posteriores de windows. SMB2 tiene sub protocolos disponibles.

    SMB2_02:La versin ms antigua SMB2.

    SMB2_10: Versin windows 7 de SMB2.

    SMB2_22:Versin temprana de SMB2 windows 8.

    SMB2_24:Versin beta de SMB2 de windows 8.

    Por defecto SMB2 selecciona la variante SMB2_10.

    SMB3: El mismo que SMB2 utilizado por windows 8.

    SMB3 tiene sub-protocolos disponibles:

    SMB3_00: versin SMB3 de windows 8 en su mayora los mismos que SMB2_24.

    Por default o defecto SMB3 selecciona una variante de SMB3_00.

    Normalmente esta opcin no se debe establecer como la fase de negociacin automtica en el protocolo SMB este solos se encarga de elegir el protocolo adecuado.

    Default:clientmaxprotocol=SMB3

    12-21

  • Ejemplo de parmetros de protocolos: clientmaxprotocol y clientminprotocol.

    clientmaxprotocol=LANMAN1

    clientminprotocol(G): Este ajuste controla la versin mnima protocolo que el cliente intentar usar. Normalmente esta opcin no se debe establecer como la fase de negociacin automtica en el protocolo SMB se encarga de elegir el protocolo adecuado.

    Ejemplo:

    Default:clientminprotocol=CORE

    Ejemplo:

    clientminprotocol=NT1

    ------------------------------------------------------------------------------------------------------------------

    Windows 8

    Este problema se debe a que se efecta un control de firmas entre participes de la red samba.Es la caracterstica "SecureNegotiate" que se ha agregado a SMB3.0 para Windows Server 2012 y Windows 8.Esta caracterstica depende de la firma correcta de las respuestas de error por todos los servidores deSMBv2, incluidos los servidores que admiten slo un protocolo versiones 2.0 y 2.1.Algunos servidores de archivos de terceros no devuelven una respuesta de error por firmado.Por lo tanto, se produce un error en la conexin.

    Una solucin rara ..

    En Windows 8 puede crear dos tipos de cuentas de usuario.Si optamos por crear una nueva cuenta sin registro en cuenta Microsoft (cuenta local) se puede autenticar normalmente como windows 7.Pero si elige el tipo de cuenta Microsoft, entonces no se puede acceder a partes de la red samba con las credenciales habituales.Para solucionar esto en w8 en parte es crear cuentas locales.

    La solucin que corresponde:

    Windows 8 y Windows 2012 introdujo una caracterstica "SecureNegotiate" o "Negociar Seguridad" a SMB, y estn configurados para requerir Secure Server Signing o Servidores seguros con firma de todos los servidores SMB o sea no negocia una mierda.La solucin est en setear al servidor SMB para habilitar la firma (asumiendo que el servidor es capaz de firmar), o de decirle a su cliente (s) de Windows 8 que desactive "Secure Negotiate".Para evitar este problema, utilice uno de los mtodos siguientes:

    Control de firmas

    Verificar la configuracin de seguridad, abrir la directiva correspondiente como la siguiente:

    ComputerConfiguration\WindowsSettings\SecuritySettings\Local

    13-21

  • Policies\SecurityOptions\Microsoftnetworkclient:Digitallysigncommunications(always)

    Configuracin\ConfiguracindeWindowsConfiguracindelequipo\seguridad\Directivaslocales\Opcionesdeseguridadclientedered\Microsoft:firmardigitalmentelascomunicaciones(siempre)

    Esto controla si el componente SMB del lado del cliente requiere la firma de paquetes.Si el cliente de red de Microsoft: firmar digitalmente las comunicaciones va a cambiar siempre el cifs.signing.enable de apagado a encendido.

    Del lado del servidor samba requerir firma en el servidor de archivos de terceros

    Para requerir la firma en el cliente SMB o el servidor SMB, activar la opcin:

    "RequireSecuritySignature".

    Consultar la documentacin del fabricante para obtener instrucciones establecer la configuracin de firma "obligatoria" en el servidor del proveedor SMB.

    Puede habilitar la firma mediante PowerShell en un cliente Windows Server 2012 o Windows 8. Para ello, ejecutar el siguiente comando:

    SetSmbClientConfigurationRequireSecuritySignature$true

    Del lado cliente desactivar la opcin "Negociarseguros"

    Podemos deshabilitar la opcin de SecureNegotiate con PowerShell en un cliente Windows Server 2012 o Windows 8.Para esto, ejecutar el siguiente comando:

    SetSmbClientConfigurationRequireSecuritySignature$false

    Efectuar la anterior desde windows power shell es mas seguro o lo mismo desde el registro:

    "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters"RequireSecureNegotiateValue0Force

    "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters"RequiresSecureSignature en 0

    Para Samba servers set "serversigning=mandatory" en el archivo smb.conf.

    O serversigning=required

    Aunque la siguiente lnea puede no ser necesaria si corremos testparm

    encryptpasswords=yes

    En este ejemplo esta carpeta se comparte a varios usuarios con passwd y se explicitan en los permisos

    14-21

  • Si el equipo remoto todava pide contrasea, pruebe a comprobar los registros de samba para ms informacin.

    -----------------------------------------------------------------------------------------------------------------------

    Para algunas otras cuestiones tambin puede ser necesario usar la librera libpamsmbpass

    Otro problema tpico:Si en un servidor que tena el usuario nobody regresa:

    NT_STATUS_LOGON_FAILURE yntlm_password_check:NONT

    contrasea almacenada para el usuario nobody, que nos seala que el samba ya tena un usuario nobody configurado.

    Aunque nadie volvi a usar pdbedit, confirma que samba estaba tratando de usar nobody en lugar del "guest" porque el arreglo es sacar nobody de samba y todo funcionaba bien con:

    pdbeditxnobody

    Problema conocidoCaso especial con cuenta nobody

    Los clientes de Windows para navegar por acciones como guest invitado y se les asignan a la cuenta de nobody. Sin embargo existe un problema:

    Los archivos de los recursoscompartidos pasan a tener propiedad de nobody.

    Entonces los usuarios de clientesdewindows pueden hacer lo que quieran en el archivo situacin que es deseada.Sin embargo, si un archivo no es propiedad de nobody ejemplo un caso tpico:

    rwxrwr1nobodymedia252125Dec182011rss.dat

    rwxrwr1usermedia252125Dec182011rss.dat

    Entonces los usuarios que acceden desde clientes Windows no puede tocar el archivo, Windows siempre dice que necesita permiso de "SERVER\usuario" para cambiar el archivo.Sin embargo no hay usuario nobody en el grupo media.

    #From/etc/groupmedia:x:1002:user,nobody

    Este problema es porque el usuario no tiene comunicacin como el grupo primario.Por que los usuarios de clientes de Windows intentan escribir el archivo como user.user en lugar de user.media.En este caso el grupo media es un ejemplo ajustarlo a nuestras necesidades.Una manera sencilla de arreglar este problema es chowntodos los archivos a nobody.media dentro de /data/media que est compartiendo y obligando a los clientes a escribir como nobody.media.Para esto smb.conf se vera as

    15-21

  • [global]guestaccount=nobody

    [media]security=userpath=/data/mediabrowsable=yesguestok=yesguestonly=yesreadonly=nocreatemask=0765forceuser=nobodyforcegroup=media

    Ahora podemos hacer que los archivos de titularidad de cualquier usuario de los usuarios y de samba pueden editarlos an a causa de la pertenencia al grupo.

    Aparte para confirmar la correcta sintaxis de smb.conf con el comando testparm podemos utilizar el comando:

    cd/etc/samba

    Luego cualquiera de los 3

    testparmtestparmsmb.conftestparms

    Ante el mensaje

    $testparmLoadsmbconfigfilesfrom/etc/samba/smb.confrlimit_max:increasingrlimit_max(1024)tominimumWindowslimit(16384)

    Es una advertencia, se puede ignorar.Clientes de Windows 7 deben tener exactamente el mismo nmero de identificadores abiertos disponibles como servidores de Windows, de lo contrario se produce un error en algunas situacionesde copia de archivos con un mensaje "outofhandles".Si bien todo funciona igual samba ha cuidado de l para usted, pero es slo para hacerle saber su lmite se fijo un poco bajo.

    Si quisiramos eliminar este aviso agregar en el archivo:

    /etc/security/limits.conf

    *nofile16384rootnofile16384

    reiniciar.

    16-21

  • Ajuste fino otros archivos a configurartotalmente opcional pero a veces necesario

    Ajustes en el archivo: /etc/nsswitch.conf

    #/etc/nsswitch.conf##ExampleconfigurationofGNUNameServiceSwitchfunctionality.#Ifyouhavethe`glibcdocreference'and`info'packagesinstalled,try:#`infolibc"NameServiceSwitch"'forinformationaboutthisfile.

    passwd:compatgroup:compatshadow:compathosts:filesmdns4_minimal[NOTFOUND=return]winsdnsmdns4networks:files

    protocols:dbfilesservices:dbfilesethers:dbfilesrpc:dbfiles

    netgroup:nis

    En la lnea en amarillo est el orden de resolucin de nombres que debemos colocar tal cual este.

    Por otro lado en el /etc/samba/smb.conftenemos algo anlogo.

    Recordemos que en la seccin global del smb.conf debemos tener una lnea donde establecemos el orden de bsqueda entre los distintos sistemas.

    nameresolveorder=lmhosts,host,bcast,wins

    Ahora para hacer efectivos los cambios podemos reiniciar samba con:

    sudoservicesmbdrestartsudoservicenmbdrestart

    y para estar seguros tambin lo haremos con el servicio winbind de cualquiera de estas 2 maneras:

    sudo/etc/init.d/winbindrestartsudoservicewinbindrestart

    Lo siguiente es solo vlido siempre y cuando tengamos ip estticas.

    Para resolver localmente los nombres netbios se los asocia con direcciones IP. correspondientes enel archivo:

    /etc/samba/lmhosts

    si lo editamos con el comando:

    17-21

  • sudogedit/etc/samba/lmhosts

    Encontremos lo siguiente:

    127.0.0.1 localhost

    Debemos aadir los nombres asociados a la direccin IP que se tenga dentro de la red local, separados con un espacio de tabulador, quedando as:

    127.0.0.1 localhost192.168.1.1 Linux192.168.1.2 Windows

    Reemplazar las ips de las mquinas Linux y Windows, por las nuestras.

    Problemas de firewall

    Ante el error no se pudo montar el lugar fallo al obtener la lista de equipos compartidos del servidor esto es el mismo error en samba, no permite la resolucin de nombres del brodcast, por lo que no nos permite ver nuestra red de computadoras de windows y marca este error.eso se soluciona as:

    sudogedit/etc/firestarter/inbound/setup

    y agregamos la siguiente linea:

    $IPTAINBOUNDs$NETpudpmstatestateNEWjACCEPT

    Otra solucin es por ejemplo permitir la red con ip 192.168.0.0/16 para permitir conexin de red domstica ajustndolo a nuestra red.

    Samba con plug-in Nautiluspaquete nautilus-share (totalmente opcional)

    Nautilus Agregado manual de funcin de botn derecho Compartir ..

    Para aadir los recursos con nautilus (navegador de archivos) debemos crear la siguiente carpeta con sus respectivos permisos:

    sudomkdirp/usr/local/samba/lib/usersharessudochgrpsambashare/usr/local/samba/lib/usersharessudochmod1770/usr/local/samba/lib/usershares

    Y luego agregamos los siguientes parmetros a la configuracin:

    usersharepath=/usr/local/samba/lib/usersharesusersharemaxshares=10

    Finalmente se pueden aadir carpetas en nautilus hacindole click derecho, opcin "opcionesdecomparticin".

    18-21

  • Formas ejemplos y accesos a los recursos compartidos

    Acceso desde Linux a Windows

    Para acceder a los recursos compartidos por Windows, si usamos Konqueror o Nautilus, es tan simple como escribir en la barra de direcciones:

    smb://nombre_maquina_windows

    De todos modos, disponemos tambin de herramientas grficas que van muy bien y hacen esta tareatan sencilla como navegar por directorios. Algunas de ellas son:

    komba smb4k xfsamba

    Tambin podemos utilizar la lnea de comandos de la siguiente manera:

    smbclientL

    Nos muestra los recursos compartidos en el equipo .Podemos especificar el usuario (preguntar la contrasea) con

    smbclientLU

    smbmount//host/nombredelrecurso/mnt/samba

    Nos montara el recurso compartido llamado nombredelrecurso en el directorio /mnt/samba.Antes de hacer esto, el directorio /mnt/samba debe existir.Una vez montado podremos navegar por /mnt/samba como si fuera el directorio compartido de windows.Para especificar el nombre de usuario usaremos:

    smbmount//host/nombredelrecurso/mnt/sambaousername=

    smbumount/mnt/samba

    Desmontara el recurso compartido que habamos montado en /mnt/samba.Hay que hacerlo antes de apagar el ordenador windows, ya que si no saldrn mensajes de error.

    Desde Windows

    Colocamos en la barra de direcciones de alguna ventana:

    \\192.168.3.1\publico

    Desde Linux

    Debemos instalar el paquete sambaclient.Luego, abrimos una carpeta y colocamos en la barra de direcciones puede ser por ip o si resuelve por nombre netbios:

    19-21

  • Recordar que los siguientes comandos no son vlidos desde terminal son solo vlidos desde los exploradores de archivos como nautilus, konqueror, etc.Tambin son funcionales desde Firefox.

    smb://pcseru1264/red2/

    smb://pp@pcseru1264/red2/ Incluye el usuario pp

    smb://192.168.13.11/red2/

    Desde consola y como root donde 192.168.13.11 es "la IP privada" del sistema linux que contiene a la carpeta ~/red2

    sudosmbclient//pcseru1264/red2/

    sudosmbclient//192.168.13.11/red2/

    Montaje desmontaje manual desde consola:

    sudomounttcifsorw,user,exec//pcseru1264/red/media/samba/pp

    sudoumount/media/samba/pp/

    sudosmbmount\\\\iponombremquina\\ubicacinrecurso /puntodemontaje

    sudosmbclient\\\\iponombremquina\\ubicacinrecurso /puntodemontaje

    sudosmbmount//iponombremquina//ubicacinrecurso /puntodemontaje

    sudosmbclient//iponombremquina//ubicacinrecurso /puntodemontaje

    Desde nautilus

    Condiciones se comparte una carpeta en un sistema linux con acceso irrestricto y de invitadoEn redes en que intervenga w7 para que entre directamente al recurso el usuario de linux no deber tener asignado passwd en samba o este deber ser nulo, caso contrario nos pide usuario y contraseay no se puede acceder al recurso.

    De lo contrario aunque haya mas de una carpeta compartida en linux una con permisos irrestrictos yalguna no sea irrestricta el cliente de w7 pide usuario y contrasea, sino realizarlo a mano en modo comando como figura mas arriba.

    Comandos tiles

    $smbstatusversionVersion4.1.6Ubuntu

    nmblookup Nos devuelve la Ip del presente en la red.

    nbtscan

    nbtscan192.168.13.0/24

    20-21

  • Nos escaneara la red en busca de equipos que comparten recursos.Por ejemplo:

    nbtscan192.168.0.0/24 nos escaneara la red en busca de equipos.

    smbstatus nos permite ver quien est conectado al servidor Samba.

    Pero las herramientas grficas nos facilitan enormemente esta tarea y combinan los comandos anteriores para que podamos trabajar de forma ms cmoda y podamos olvidarnos de estas instrucciones.Comando til en caso de problemas de deteccin para ver los puertos:

    nmapsTipdelservidordeimpresin

    21-21

    SambaCrear y eliminar usuarios samba modo comandoAgregar usuario en sambaOtras opciones de smbpasswd

    Cambiar usuarioPara reiniciar sambaAcceso desde Linux a Windows

    Desde WindowsDesde LinuxComandos tiles