Todo sobre Samba [Ubuntu]

Samba GNU/LINUX




Descripción:
Samba es un software que permite a tu ordenador poder compartir archivos e impresoras con otras computadoras en una misma red local. Utiliza para ello un protocolo conocido como SMB/CIFS compatible con sistemas operativos UNIX o Linux , como Ubuntu, pero además con sistemas Windows (XP, NT, 98...), OS/2 o incluso DOS. También se puede conocer como LanManager o NetBIOS.

Si Ubuntu te ha detectado correctamente la red local, que es lo mas habitual, cuando selecciones una carpeta y hagas click en el botón derecho del ratón, si le das a Compartir carpeta, al seleccionar un protocolo se iniciará un proceso automático de descarga desde Internet e instalación de Samba. También se puede instalar de la forma habitual usando Añadir y quitar... o Synaptic.

Pero vamos a mostrar como hacerlo por consola.



Instalación:
Primero que nada instalamos samba
$sudo aptitude install samba samba-client smbfs smbclient
esto debería instalar también varias otras dependencias.




Para modificar el grupo de trabajo:
Primero abrimos el archivo /etc/samba/smb.conf para modificarlo
$sudo nano /etc/samba/smb.conf

Luego buscamos (control+w) la línea que diga algo como:
workgroup = MSHOME
y reemplazamos MSHOME por el nombre de nuestro grupo de trabajo





Para agregar una carpeta:
Primero debemos crear una carpeta con permisos (por ejemplo)

$sudo mkdir /home/public
$sudo chmod 755 /home/public

Luego abrimos el archivo /etc/samba/smb.conf para modificarlo :
$sudo nano /etc/samba/smb.conf

Y le agregamos, al final:

comment = Cosas publicas
path = /home/public
public = yes
writable = no

Las opciones son auto-sugerentes, por ejemplo "public = yes" es para que se pueda acceder a la carpeta (el permiso x de sistema), y "writable = no" es para que no se pueda escribir (el permiso w de sistema).




Para Compartir la Unidad de CDROM:
abrimos el archivo /etc/samba/smb.conf para modificarlo
$sudo nano /etc/samba/smb.conf

y le agregamos, al final, algo como esto :

[CDROM]
comment = Cd Rom Compartido
path = /media/cdrom0
public = yes
writable = no
browseable = yes

(le agregamos un nuevo parámetro "browseable" esto sirve para ingresar a la maquina por medio de windows y linux de forma remota y ver la carpeta que esta compartida)



Mas sobre los permisos de las carpetas:
Generalmente, al usuario externo que tiene acceso al equipo a través de Samba, el sistema le da como nombre de usuario nobody y como nombre de grupo nogroup, es así como podemos cambiar el nombre de usuario y nombre de grupo a nuestras carpetas, con el fin de que el sistema también sepa quien es el propietario de esa carpeta:

$sudo chown nobody:nogroup /home/public
$sudo chmod 555 /home/public

y si queremos que también pueda escribir sobre esta carpeta
$sudo chmod 755 /home/public

y además debemos decirle a Samba que se lo permita (acuerdate que para que un permiso sea válido, tanto el sistema como Samba deben estar de acuerdo)






Para no usar contraseña:
Buscamos (control+w) la línea donde diga algo como:

; security = user

y la reemplazamos por :
security = SHARE




Cambiar contraseña de un usuario en un dominio Windows desde Ubuntu

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 Ubuntu. Para hacerlo sólo hay que abir 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.



Agregando usuario
Suele pasar que cuando entras desde windows a una carpeta compartida en Ubuntu, te pide usuario, puede hacer lo siguiente:

sudo smbpasswd -a tu_usuario

Si deseas le pones contraseña por motivos de seguridad, y si no necesitas la constraseña solo dale enter.





Para reiniciar samba
Luego de efectuar algún cambio en el archivo /etc/samba/smb.conf debemos reiniciar samba, para ello:

$sudo /etc/init.d/samba restart




Resumiendo:
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:

* Desde Windows colocamos en la barra de direcciones de alguna ventana:

192.168.3.1public

* Desde Linux (que tenga instalado el paquete samba-client) abrimos una carpeta y colocamos en la barra de direcciones:

smb://192.168.3.1/public/
smbclient //192.168.3.1/public/


Donde 192.168.3.1 es "la IP privada" del equipo Linux que contiene a la carpeta /home/public




Con sistemas Windows

Si tenemos en nuestra red local una máquina con Windows y queremos compartir archivos entre ambos sistemas:

* Paso 1: Nos dirigimos al menú de Ubuntu: Sistema, Administración y seleccionamos Carpetas compartidas. [Pulsamos añadir]

En ruta, buscamos la carpeta que queremos compartir, como nombre pondremos Compartidos (por ejemplo) y seleccionamos Permitir examinar la carpeta. Pulsamos sobre Configuración general de archivos compartidos con Windows, en Dominio introducimos el nombre de red que posea la máquina Windows. Lo demás lo dejamos como está.

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

$ sudo 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 fichero nologin, también puedes crear tu usuario normalmente y luego ejecutar la sentencia:
$ sudo passwd -d usuario-windows


A continuación introducimos:
$ sudo smbpasswd -a usuario-windows

Y nos pedirá la contraseña que queramos asignar a dicho usuario.

Debemos reiniciar el demonio de samba antes de poder ver las carpetas compartidas desde la máquina Windows:
$ sudo /etc/init.d/samba restart

* Paso 3: Vamos a la máquina Windows y pulsamos en Mis sitios de Red, ahora pulsamos en Equipos cercanos. Tendría que aparecer el nombre del equipo con Ubuntu, y dentro de este directorio, la carpeta compartida.

* Paso 4: Si vemos la carpeta, pero dice que no tenemos los permisos necesarios, deberemos volver a la máquina con Ubuntu y asignar los permisos necesarios de ejecución, lectura o escritura a las carpetas que queramos compartir.

* Paso 5: Vamos a la máquina con Ubuntu y nos dirigimos al menú de Ubuntu: Lugares, y seleccionamos Servidores de Red. Tendría que aparecer la Red de Windows. Esta aplicación nos permite ver los archivos de la maquina con Windows desde la maquina con Ubuntu. Hay que recargar cada vez que sea necesario.




Bueno, Espero que le halla gustado. Este es mi primer Post en Taringa!

PD: Este Mini tutorial esta basado en el OS Ubuntu, pero se adapta a cualquier otra distro.



Un Saludo

--
Sebastián
http://sebastianmoreno.com.uy

28 comentarios - Todo sobre Samba [Ubuntu]

@manteca36
Exelente lo voy a probar
@due204
Funciona al pelo. El único problema que tengo es que no puedo ver los archivos que están en la maquina con windows pero después la maquina con windows accede lo mas bien a la maquina con Linux.
@due204
Mil Gracias Che.
Probé como me dijiste:
smb://la ip de la maquina con win/c/
Y Me Funciono De 10.
@HolaSoyUnClonBueno
una pregunta.. sirve tambien para compartir una conexion a internet?
por q cada vez q kiero entrar a internet tengo q desconectar una computadora para enchufarla en la otra...
@ivanstron
buenisimo!!!!!!!!
despues me pongo a hacerlo, gracias che, a favs
@diegomaga
disculpá pero soy nuevo en linux.. cuando bajo el samba, me dice:

No se pudo abrir el fichero de bloqueo '/var/lib/dpkg/lock' - open (13: Permiso denegado)
E: Imposible bloquear el directorio de administración (/var/lib/dpkg/), ¿es superusuario?

creo q es por algun permiso o logueo que no estoy haciendo.. alguno me podrá ayudar? gracias.
@chilesitos
Un saludo cordial amigo yo tengo una duda o dudas utilizó el ubuntu y como mencionas en el post es posible que me hackean x medio del samba al compartir red ya que entran ala pc de un servidor y me blokean el acedo a carpeta personal y las utilidades que el mismo ubuntu ofrece desde negar la entrada al firefox, amsn y el impedir descargas x rapishared mi pregunta puedo blokear la entrada a este hacker y si es como hacerle ya que me impide entrad alas carpetas como usuario administrador k tengo con contraaena le agradecería si puede ayudar ya k emigre a este sistema x que en windows me súper ataca también como puedo arregla para k el flash no se ponga lento como en algunos sitios necesitan para poder ver el sitio gracias y disculpa las molestias ...
@fulgore2
Muy bueno voy a probar esto.
+10
@cr1s70 +1
Este post es de hace 2 años ya, pero me ha salvado la vida en un trabajo jaja

+10 Merecidisimo!
@SAO_CANI
oye no se ven la imagenes si la pones bn +10
@SAO_CANI
+10 amigo gran aporte te sigo
@alanharper
No puedo hacer funcionar la red, tengo una PC de escritorio con Ubuntu y una notebook con win 7 y quiero compartir carpetas pero no puedo. Sigo los tutorias que hay por internet pero cuando pongo la ip de la pc de escritorio en la notebook me sa error windows no se pudo conectar a//192.168.0.1/