Академический Документы
Профессиональный Документы
Культура Документы
smbclient
smbc
smbfs
1-21
smbnetfs
winbind
ntfs3g
ntfsconfig ntfsprogs
Tenemos los programas (paquetes) en modo grfico Ubuntu 12.04 a 14.04 entre otros:
gadminsamba
samba
swat
Apple
netatalk
v2
afpfsngutils
135136137138139
139445
139
445
137
138
smbd
smbd
nmbd
nmbd
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
3-21
Usuarios
linux
del tipo nologin
Crear grupo
En linux:
sudogroupaddgrupo
sudogroupaddrecepcion
Modificar grupo:
sudousermodgusuariosrecepcion
groupsrecepcion
sudousermodGusuarios,sambientalrecepcion
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
4-21
Aadiendoelusuario`ususamba'...
Aadiendoelnuevogrupo`ususamba'(1001)...
Aadiendoelnuevousuario`ususamba'(1001)congrupo`ususamba'...
Nosecreaeldirectoriopersonal`/home/ususamba'.
Cambiandolainformacindeusuarioparaususamba
Introduzcaelnuevovalor,opresioneINTROparaelpredeterminado
Nombrecompleto[]:ususamba
Nmerodehabitacin[]:
Telfonodeltrabajo[]:
Telfonodecasa[]:
Otro[]:
Escorrectalainformacin?[S/n]s
$
Deshabilitar un usuario
Habilitar un usuario
Usuario sin password
este parmetro necesita en seccin 'global' del archivo de configuracin de samba smb.conf:
nullpasswords=yes
-x
-m
Elimina el usuario
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 el
recurso sobre un usuario existente en linux
sudosmbpasswdanombredeusuario_linux
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 con
login 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 ejecuta
en Linux o sea tiene login en Linux) y luego ejecutar la sentencia:
sudopasswddusuariowindows
6-21
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].
Desde la perspectiva del cliente, el nivel share corresponde al mododeseguridad share y los
niveles:
user, server
y domain
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_localU
nombre_de_usuarioW
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 invitados
1 carpeta llamada red 2 con control de cuenta o sea usuario y passwd
Opcional:
Eventualmente agregar los usuarioslocales a sambasin password y a los gruposnobody
nogroup 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 sistema
linux que comparte el recurso.
sudosmbpasswdanombredeusuario_linux
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
usu
pp
usu
1234
Creamos el usuario usu en el sistema Linux (ni siquiera hace falta passwd):
sudouseradds/sbin/nologinusu
10-21
forceuser=g
forcegroup=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
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
COREPLUS:Ligeras
LANMAN1:
Primer versin moderna del protocolo con soporte para nombres largos de archivo.
LANMAN2: Actualizacin
Actual versin actualizada del protocolo anterior utilizado hasta windows NT.
Conocido como CIFS.
NT1:
SMB2: Re
ms antigua SMB2.
windows 7 de SMB2.
SMB2_22:Versin
SMB2_24:Versin
SMB3_00:
12-21
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 de
SMBv2, 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:Digitallysign
communications(always)
Configuracin\ConfiguracindeWindowsConfiguracindelequipo\seguridad\
Directivaslocales\Opcionesdeseguridadclientedered\Microsoft:firmar
digitalmentelascomunicaciones(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
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
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
ntlm_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 conocido
Caso 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/group
media:x:1002:user,nobody
[global]
guestaccount=nobody
[media]
security=user
path=/data/media
browsable=yes
guestok=yes
guestonly=yes
readonly=no
createmask=0765
forceuser=nobody
forcegroup=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
Ante el mensaje
$testparm
Loadsmbconfigfilesfrom/etc/samba/smb.conf
rlimit_max:increasingrlimit_max(1024)tominimumWindowslimit(16384)
reiniciar.
16-21
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:
sudoservicesmbdrestart
sudoservicenmbdrestart
y para estar seguros tambin lo haremos con el servicio winbind de cualquiera de estas 2
maneras:
sudo/etc/init.d/winbindrestart
sudoservicewinbindrestart
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
localhost
192.168.1.1 Linux
192.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
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.
Para aadir los recursos con nautilus (navegador de archivos) debemos crear la siguiente carpeta
con sus respectivos permisos:
sudomkdirp/usr/local/samba/lib/usershares
sudochgrpsambashare/usr/local/samba/lib/usershares
sudochmod1770/usr/local/samba/lib/usershares
Finalmente se pueden aadir carpetas en nautilus hacindole click derecho, opcin "opcionesde
comparticin".
18-21
De todos modos, disponemos tambin de herramientas grficas que van muy bien y hacen esta tarea
tan sencilla como navegar por directorios. Algunas de ellas son:
komba
smb4k
xfsamba
Tambin podemos utilizar la lnea de comandos de la siguiente manera:
smbclientL<host>
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/
/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 invitado
En 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 contrasea
y no se puede acceder al recurso.
De lo contrario aunque haya mas de una carpeta compartida en linux una con permisos irrestrictos y
alguna no sea irrestricta el cliente de w7 pide usuario y contrasea, sino realizarlo a mano en modo
comando como figura mas arriba.
Comandos tiles
$smbstatusversion
Version4.1.6Ubuntu
nmblookup<host>
nbtscan<red/mascara>
nbtscan192.168.13.0/24
20-21
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