Diferencia entre revisiones de «Samba»

De Guía Ubuntu
Saltar a: navegación, buscar
Línea 38: Línea 38:
 
y reemplazamos MSHOME por el nombre de nuestro grupo de trabajo.
 
y reemplazamos MSHOME por el nombre de nuestro grupo de trabajo.
  
== Para probar la correcta sintaxis del archivo de configuración ==
+
== Para agregar una carpeta ==
 
+
Utilizamos la aplicación testparm, la cual verifica la configuración y despliega las carpetas compartidas en éste:
+
 
+
$ testparm
+
 
+
== Quitar lineas de comentarios ==
+
 
+
Para eliminar las líneas que corresponden a comentarios:
+
 
+
$ su
+
# mv smb.conf smb.conf.orig
+
# testparm -s smb.conf.orig > smb.conf
+
  
Nota: el comando su nos logea como root, para lo cual debemos tener habilitado el usuario root con contraseña. Para ello ejecutas:
+
=== Opcion 1: ===
 
+
$ sudo passwd root
+
 
+
== Para agregar una carpeta ==
+
  
 
Primero debemos crear una carpeta con permisos (por ejemplo) :
 
Primero debemos crear una carpeta con permisos (por ejemplo) :
Línea 65: Línea 49:
 
Luego abrimos la configuración y le agregamos, al final, algo como esto :
 
Luego abrimos la configuración y le agregamos, al final, algo como esto :
  
  [public]        
+
  [public]
 
   comment = Cosas publicas
 
   comment = Cosas publicas
 
   path = /home/public
 
   path = /home/public
Línea 73: Línea 57:
 
Las opciones son sugerentes, por ejemplo "public = yes" es para que se pueda acceder a la carpeta cualquier usuario, y "writable = no" es para que no se pueda escribir.
 
Las opciones son sugerentes, por ejemplo "public = yes" es para que se pueda acceder a la carpeta cualquier usuario, y "writable = no" es para que no se pueda escribir.
  
== Para Compartir la Unidad de CDRom ==
+
=== Opción 2 ===
 +
 
 +
Para añadir los recursos con nautilus (navegador de archivos) debemos crear la siguiente carpeta con sus respectivos permisos:
 +
 
 +
$ sudo mkdir -p /usr/local/samba/lib/usershares
 +
$ sudo chgrp sambashare /usr/local/samba/lib/usershares
 +
$ sudo chmod 1770 /usr/local/samba/lib/usershares
 +
 
 +
Y luego agregas los siguientes parámetros a la configuración:
 +
 
 +
usershare path = /usr/local/samba/lib/usershares
 +
usershare max shares = 10
 +
 
 +
== Para Compartir la Unidad de CD-ROM ==
  
 
Abrimos la configuración y le agregamos, al final, algo como esto :
 
Abrimos la configuración y le agregamos, al final, algo como esto :
  
  [CDRom]        
+
  [cdrom]
 
   comment = Cd Rom Compartido
 
   comment = Cd Rom Compartido
 
   path = /media/cdrom0
 
   path = /media/cdrom0
Línea 86: Línea 83:
 
(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)
 
(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 ===
+
== Para probar la correcta sintaxis del archivo de configuración ==
  
Generalmente (esto pasa con mi ubuntu 6.10) 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:
+
Utilizamos la aplicación testparm, la cual verifica la configuración y despliega las carpetas compartidas en éste:
  
  $sudo chown nobody:nogroup /home/public
+
  $ testparm
$sudo chmod 555 /home/public
+
  
y si queremos que también pueda escribir sobre esta carpeta
+
== Quitar lineas de comentarios ==
  
$sudo chmod 755 /home/public
+
Para eliminar las líneas que corresponden a comentarios:
  
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)
+
$ su
 +
# mv smb.conf smb.conf.orig
 +
# testparm -s smb.conf.orig > smb.conf
  
== Para no usar contraseña ==
+
Nota: el comando su nos logea como root, para lo cual debemos tener habilitado el usuario root con contraseña. Para ello ejecutas:
  
Buscamos (control+w) la línea donde diga algo como :
+
$ sudo passwd root
  
;  security = user
+
= Permisos =
  
y la reemplazamos por :
+
Los usuarios que ingresan a un recurso público, 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)
  
security = SHARE
+
= Administración =
  
=== Cambiar contraseña de un usuario en un dominio Windows desde Ubuntu ===
+
== 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 Ubuntu. Para hacerlo sólo hay que abir un terminal y ejecutar este comando:
 
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
+
  $ 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.
 
Donde WindowsDC es en este caso la dirección del controlador de dominio de Windows y nombreUsuario el usuario en el dominio.
Línea 121: Línea 128:
 
Una vez hecho esto ya podemos hacer login con la nueva contraseña.
 
Una vez hecho esto ya podemos hacer login con la nueva contraseña.
  
=== Agregando usuario ===
+
== Agregar usuario ==
  
Suele pasar que cuando entras desde windows a una carpeta compartida en ubuntu, te pide usuario,
+
Suele pasar que cuando entras desde windows a una carpeta compartida en ubuntu, te pide usuario, puede hacer lo siguiente:
puede hacer lo siguiente:
+
  
  sudo smbpasswd -a tu_usuario
+
  $ 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.
+
si deseas le pones contraseña por motivos de seguridad, y si no necesitas la constraseña solo dale enter.
  
=== Para reiniciar samba ===
+
== Para reiniciar samba ==
  
 
Luego de efectuar algún cambio en el archivo /etc/samba/smb.conf debemos reiniciar samba, para ello :
 
Luego de efectuar algún cambio en el archivo /etc/samba/smb.conf debemos reiniciar samba, para ello :
  
  $sudo /etc/init.d/samba restart
+
  $ sudo /etc/init.d/samba restart
  
 
Ojo en Ubuntu 10.04 LTS y 10.10 el comando anterior no va, debes utilizar este:
 
Ojo en Ubuntu 10.04 LTS y 10.10 el comando anterior no va, debes utilizar este:
  
  $sudo restart smbd
+
  $ sudo restart smbd
  
 
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:
 
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:
+
= Acceso a los recursos compartidos=
 +
 
 +
== Desde Windows ==
 +
 
 +
Colocamos en la barra de direcciones de alguna ventana:
 +
 
 
  \\192.168.3.1\public
 
  \\192.168.3.1\public
  
*'''Desde Linux (que tenga instalado el paquete samba-client)''' abrimos una carpeta y colocamos en la barra de direcciones:
+
== Desde Linux ==
  smb://192.168.3.1/public/ o smbclient //192.168.3.1/public/
+
 
 +
Debemos instalar el paquete samba-client. Luego, abrimos una carpeta y colocamos en la barra de direcciones:
 +
 
 +
  smb://192.168.3.1/public/
 +
o
 +
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
 
donde 192.168.3.1 es "la IP privada" del equipo linux que contiene a la carpeta /home/public
  
{{esbozo}}
+
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
  
 
== Con sistemas Windows ==
 
== Con sistemas Windows ==

Revisión de 19:05 13 oct 2010

Samba es un software que permite a tu ordenador con Ubuntu 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 (véase Añadir aplicaciones).

Instalación

Primero instalamos samba :

$sudo aptitude install samba samba-client smbfs smbclient

esto debería instalar también varias otras dependencias.

Herramientas

Tenemos variadas herramientas las cuales podemos utilizar para facilitar la configuración del servidor:

Manuales

  • samba-doc : instala manuales en /usr/share/doc-base/ y /usr/share/doc/samba-doc/ como texto y html
  • samba-doc-pdf : instala manuales en /usr/share/doc-base/ y /usr/share/doc/samba-doc-pdf/ con formato pdf

Configuración

La configuración del servidor samba se realiza en el archivo /etc/samba/smb.conf el cual podemos modificar de la siguiente manera:

$ sudo nano /etc/samba/smb.conf

Para modificar el grupo de trabajo

Buscamos la línea que diga algo como :

workgroup = MSHOME

y reemplazamos MSHOME por el nombre de nuestro grupo de trabajo.

Para agregar una carpeta

Opcion 1:

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

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

Luego abrimos la configuración y le agregamos, al final, algo como esto :

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

Las opciones son sugerentes, por ejemplo "public = yes" es para que se pueda acceder a la carpeta cualquier usuario, y "writable = no" es para que no se pueda escribir.

Opción 2

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

$ sudo mkdir -p /usr/local/samba/lib/usershares
$ sudo chgrp sambashare /usr/local/samba/lib/usershares
$ sudo chmod 1770 /usr/local/samba/lib/usershares

Y luego agregas los siguientes parámetros a la configuración:

usershare path = /usr/local/samba/lib/usershares
usershare max shares = 10

Para Compartir la Unidad de CD-ROM

Abrimos la configuración 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)

Para probar la correcta sintaxis del archivo de configuración

Utilizamos la aplicación testparm, la cual verifica la configuración y despliega las carpetas compartidas en éste:

$ testparm

Quitar lineas de comentarios

Para eliminar las líneas que corresponden a comentarios:

$ su
# mv smb.conf smb.conf.orig
# testparm -s smb.conf.orig > smb.conf

Nota: el comando su nos logea como root, para lo cual debemos tener habilitado el usuario root con contraseña. Para ello ejecutas:

$ sudo passwd root

Permisos

Los usuarios que ingresan a un recurso público, 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)

Administración

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 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.

Agregar 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

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

$ sudo restart smbd

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

Colocamos en la barra de direcciones de alguna ventana:

\\192.168.3.1\public

Desde Linux

Debemos instalar el paquete samba-client. Luego, abrimos una carpeta y colocamos en la barra de direcciones:

smb://192.168.3.1/public/

o

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 la imagen yo ya tengo añadida una carpeta, pero tú deberías tenerla en blanco) y nos aparecerá una imagen como la inferior.
Paso 1: compartiendo con SAMBA

En ruta, buscamos la carpeta que queremos compartir, como nombre pondremos Compartidos (por ejemplo) y seleccionamos Permitir examinar la carpeta. Pulsamos sobre Configuracion 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.

Compartir impresoras

Ver Compartir una impresora con Windows 2000/XP