Está en la página 1de 7

Para compartir archivos desde ubuntu ahora es ms fcil usando el mismo entorno grfico sin usar la consola, para

ello necesitamos instalar 2 aplicaciones:


sudo apt-get install samba nautilus-share

Samba es una implementacin libre del protocolo de archivos compartidos de Microsoft Windows (antiguamente llamado SMB, renombrado recientemente a CIFS) para sistemas de tipo UNIX que nos va a permitir actuar como servidor de archivos usando diferentes protocolos como NetBios para sistemas operativos windows. nautilus- share es un plugins para nautilus que proporciona una comparticin muy simple a travs de nautilus. Para empezar a usarlo necesitamos primero reiniciar nautilus:
nautilus -q nohup nautilus &

Ahora para compartir archivos o una carpeta entera es simple, por ejemplo para compartir la carpeta Documentos damos al secundario del ratn encima de la carpeta y damos a opciones de

comparticin y activar la pestaa Compartir esta carpeta:

Como vemos es muy fcil. Ahora ya tenemos la carpeta lista para que windows la vea pero nos falta crear el usuario samba y debe existir en Linux dicho usuario, en mi caso voy a usar el usuario

chakal por lo que lo que tenemos que hacer es crearle en Linux y a continuacin aadirle en samba:
sudo useradd -s /bin/false -d /dev/null chakal smbpasswd -a chakal

Como vemos no tiene mucho misterio, aadimos el usuario al Linux usando useradd y al final al samba usando smbpasswd. Si el usuario ya existe en Linux con smbpasswd es suficiente. Ahora desde windows deberamos ver la carpeta compartida desde mis sitios de red, si no sale podemos hacer dos cosas: cambiar el grupo de trabajo para que coincida con el de windows o lanzar la ruta directamente anteponiendo antes \\, por ejemplo, si la ip del servidor samba es 192.168.1.2:
\\192.168.1.2/Documentos

\\ es para acceder a un recurso de la red. 192.168.1.2 es la ip del servidor linux. Documentos es el nombre del recurso que compartimos. Si queremos ahorrarnos esto editamos el archivo smb.cfg y cambiamos la directiva workgroup con la que usa windows que suele ser INICIOMS:
gksu gedit /etc/samba/smb.conf workgroup = INICIOMS sudo service smbd restart

Para comprobar lo que compartimos en Linux podemos ejecutar el comando:


smbclient -L 127.0.0.1 -uuser

Donde user es el usuario que hemos creado en samba, debera salir algo como esto:
Domain=[INICIOMS] OS=[Unix] Server=[Samba 3.5.4]

Sharename --------print$ IPC$ documentos

Type ---Disk IPC Disk

Comment ------Printer Drivers IPC Service (Notebook server (Samba, Ubuntu)) Documentos variados

Domain=[INICIOMS] OS=[Unix] Server=[Samba 3.5.4]

Server ---------

Comment -------

Workgroup --------INICIOMS WORKGROUP

Master ------DESKTOP NOTEBOOK

Si no vemos la carpeta o recursos desde windows puede que sea problema del firewall, windows tiene un firewall, para permitir la comparticin de archivos en red ejecutamos en windows el siguiente comando:
firewall.cpl

Nos dirigimos a la pestaa excepciones y marcamos Compartir archivos y impresoras:

Ahora deberamos ver los recursos si vamos a Mis sitios de red desde windows. Una ultima cosa, samba escucha en todos los interfaces y es conveniente denegar las conexiones fuera de nuestra red a dicho servicio, en mi caso estoy en una red local del rango 192.168.1.0/24 por lo que:
sudo iptables -I INPUT -p tcp -m multiport --dports 139,445 -s ! 192.168.1.0/24 -j DROP

De esta manera bloqueamos todas las peticiones que no sean de nuestra red local.

Instalacin de samba

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 , pero adems con sistemas Windows (XP, NT, 98), OS/2 o incluso DOS. Tambin se puede conocer como LanManager o NetBIOS. Si se ha detectado correctamente la red local, cuando selecciones una carpeta y hagas click en el botn derecho del ratn, si le das a Compartir carpeta, al seleccionar un protocolo se iniciar un proceso automtico de descarga desde Internet e instalacin de Samba. Instalaremos y configuraremos Samba desde una terminal:

Con sistemas Windows o Linux (sin password) Primero que nada instalamos samba :
sudo aptitude install samba samba-client smbfs smbclient

esto debera instalar tambin varias otras dependencias. Luego configuramos el archivo /etc/samba/smb.conf Para modificar el grupo de trabajo Primero abrimos el archivo /etc/samba/smb.conf para modificarlo :
sudo gedit /etc/samba/smb.conf

Luego buscamos (control+w) la lnea 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/prueba sudo chmod 755 /home/prueba

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


sudo gedit /etc/samba/smb.conf

y le agregamos, al final, algo como esto :


[prueba] comment = Prueba path = /home/prueba public = yes writable = no

las opciones son auto-sugerentes, por ejemplo public = yes es para que se pueda acceder a la carpeta y writable = no es para que no se pueda escribir. Para Compartir la Unidad de CDRom abrimos el archivo /etc/samba/smb.conf para modificarlo :

sudo gedit /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 parametro browseable esto sirve para ingresar a la maquina por medio de windows y linux de forma remota y ver la carpeta que esta compartida) Ms sobre los permisos de las carpetas Generalmente al usuario externo que tiene acceso al equipo a travs 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 tambin sepa quien es el propietario de esa carpeta:
sudo chown nobody:nogroup /home/prueba sudo chmod 555 /home/prueba

y si queremos que tambin pueda escribir sobre esta carpeta


sudo chmod 755 /home/prueba

y adems debemos decirle a Samba que se lo permita (acuerdate que para que un permiso sea vlido, tanto el sistema como Samba deben estar de acuerdo) Para no usar contrasea Buscamos (control+w) la lnea donde diga algo como :
; security = user

y la reemplazamos por :
security = SHARE

Cambiar contrasea de un usuario en un dominio Windows Para cambiar la contrasea de un usuario de dominio de Windows no es necesario ir a un PC Windows. Para hacerlo slo hay que abir un terminal y ejecutar este comando:
smbpasswd -r WindowsDC -U nombreUsuario

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. Agregando usuario de Samba Suele pasar que cuando entras desde windows a una carpeta compartida, te pide usuario y contrasea, puede hacer lo siguiente:
sudo smbpasswd -a tu_usuario

si deseas le pones contrasea por motivos de seguridad, y si no necesitas la constrasea solo dale enter. Para reiniciar samba Luego de efectuar algn cambio en el archivo /etc/samba/smb.conf debemos reiniciar samba, para ello :
sudo /etc/init.d/samba restart

Con todo lo anterior deberamos ser capaces de entrar desde un equipo con windows o linux a la carpeta /home/prueba sin necesidad de tener nombre de usuario ni password:

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

\\192.168.1.100\prueba

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

smb://192.168.1.100/prueba/ o smbclient //192.168.1.100/prueba/

donde 192.168.1.100 es la IP privada del equipo linux que contiene a la carpeta /home/prueba