Técnico en sistemas Microinformáticos Mod04 Ses14


En la sesión de hoy montaremos un servidor de archivos samba, la implementación del protocolo SMB fuera de sistemas de microsoft.

Samba

Fuente: http://www.guia-ubuntu.org/index.php?title=Samba

De Guía Ubuntu

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

Compartir

Con sistemas Windows o Linux (sin password)

Primero que nada instalamos samba :

$sudo aptitude install samba samba-client smbfs smbclient

esto debería instalar también 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 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, algo como esto :

[public]
 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 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)

Mas sobre los permisos de las carpetas

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:

$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

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.1\public
  • 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/ 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

Aumentar

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.

Con sistemas Linux

Compartir impresoras

Ver Compartir una impresora con Windows 2000/XP

Linpopup

Linpopup, que se instala de la manera estándar, es un port o programa basado en el conocido Winpopup para mensajería instantánea de los sistemas Windows para ordenadores de una misma red local. Además de ser compatible con éste, incluye sus propias características.

Ver también

Montar comparticiones remotas usando smbfs y cifs

Fuente: http://www.guia-ubuntu.org/index.php?title=Montar_comparticiones_remotas_usando_smbfs_y_cifs

Este documento explica cómo montar comparticiones smbfs de forma permanente, por ejemplo comparticiones Windows o comparticiones de servidores samba sobre Linux/Unix.

Traducción de: https://wiki.ubuntu.com/MountWindowsSharesPermanently

Instalación del sistema de ficheros Samba

$ sudo aptitude install smbfs

Montar carpetas de red desprotegidas (accesibles como invitado)

Asumiendo que:

  • La conexión de red está configurada correctamente

  • El nombre de la máquina Windows es servername, y que puede ser una dirección IP o un nombre asignado

  • El nombre de la carpeta compartida es sharename.

  • La carpeta compartida en la máquina Windows será montada en la carpeta local mountname.

Primero, crear la carpeta donde montar la compartición. Será necesaria una carpeta diferente para cada sistema de ficheros que se monte:

$ sudo mkdir /media/mountname

Editar el fichero /etc/fstab (como root) para añadir la siguiente línea

//servername/sharename  /media/mountname  smbfs  guest,uid=1000,iocharset=utf8,codepage=unicode,unicode  0  0

Donde:

  • guest indica que no es necesario usuario y contraseña para acceder a la carpeta compartida

  • uid=1000 monta la compartición perteneciendo al usuario cuyo uid se especifica

  • iocharset=utf8,codepage=unicode,unicode permite acceder a ficheros con nombres con caracteres de idiomas distintos al Inglés. Algunas instalaciones de Windows están configuradas para compartir utilizando ISO8895-15. En éstas, el argumento correcto sería codepage=cp850.

Tras las modificaciones descritas de /etc/fstab

$ sudo mount -a

Con lo que se volverán a montar todas las entradas de /etc/fstab

Montando carpetas de red protegidas por contraseña

Asumiendo todo lo dicho, y lo siguiente:

  • El usuario de la carpeta compartida en la máquina Windows es myusername.

  • La contraseña de la carpeta compartida en la máquina Windows es mypassword.

Puede montarse la carpeta incluyendo en /etc/fstab los parámetros username y password:

//servername/sharename  /media/mountname  smbfs  username=myusername,password=mypassword  0  0

Pero, dado que /etc/fstab es legible por todos los usuarios, es evidente que no conviene tener escritas las contraseñas Windows en claro. La forma de evitarlo es utilizar un fichero de credenciales, del que controlaremos los permisos y que contienen únicamente el usuario y su contraseña:

$ sudo gedit ~/.smbcredentials

Añadir las siguientes líneas:

username=myusername
password=mypassword

y salvar el fichero.

Ahora se modifican los permisos del fichero para que sólo el usuario pueda leerlo y escribir en él.

$ sudo chmod 600 ~/.smbcredentials

Y ahora se añade la siguiente línea en /etc/fstab (en este caso, permitiendo lectura y escritura a todo usuario):

//servername/sharename  /media/mountname  smbfs  credentials=~/.smbcredentials,dmask=777,fmask=777  0  0

o bien, para dar sólo permisos de lectura:

//servername/sharename  /media/mountname  smbfs  credentials=~/.smbcredentials  0  0

Importante: Desde Intrepid, se debe reemplazar dmask por dir_mode y fmask por file_mode:

//servername/sharename  /media/mountname  smbfs  credentials=~/.smbcredentials,dir_mode=777,file_mode=777  0  0

En algunos sistemas, el montaje automático de smbfs no funcionará correctamente. Para evitarlo, puede añadirse el parámetro “noauto” a fstab y después montar la compartición al iniciar la sesión

/etc/fstab:

//servername/sharename  /media/mountname  smbfs  noauto,credentials=~/.smbpasswd  0  0

después, editar /etc/rc.local para montar la carpeta smbfs cuando se inicia la sesión (hay que asegurarse de los usuarios tienen suficientes permisos para ejecutar /etc/rc.local):

#!/bin/sh -e
mount /media/mountname
exit 0

Permisos especiales

Si se necesitan permisos especiales, deben añadirse los parámetros uid’ o gid, poniendo el nombre o el id (del usuario, uid; o del grupo, gid):

//servername/sharename  /media/mountname  smbfs   uid=eguser,credentials=~/.smbcredentials,dmask=777,fmask=777   0       0

Con esta línea /media/sharename pertenecerá al usuario eguser. Mediante dmask y fmask se determina la máscara a utilizar para los permisos (en el ejemplo, se permite lectura, escritura y ejecución tanto de directorios como de ficheros).

Problemas conocidos

Las carpetas compartidas sin protección por contraseña no se montan automáticamente

Al iniciar, puede que no se monte automáticamente la compartición, pero después ejecutando “sudo mount -a” sí funciona correctamente. Se soluciona con la siguiente línea:

//servername/sharename  /media/mountname  smbfs  username=guest,password=,uid=1000,iocharset=utf8,codepage=unicode,unicode  0  0

smbfs: smbmnt must be installed suid root

$ sudo chmod u+s `which smbmnt`
$ sudo chmod u+s `which smbumount`

Compartir impresora con Windows

Fuente: http://www.guia-ubuntu.org/index.php?title=Compartir_una_impresora_con_Windows_2000/XP

De Guía Ubuntu

Para compartir una impresora con un ordenador que use Windows seguimos estos pasos:

  • 1. Necesitamos tener CUPS, así que instalamos el paquete cups de los repositorios oficiales de Ubuntu.
  • 3. Escribimos lo siguiente en una terminal:
$ sudo adduser cupsys shadow
$ sudo /etc/init.d/cupsys restart

Haciendo esto podrás logearte en la dirección http://localhost:631 (es el panel donde se administra CUPS), con tu nombre de usuario y contraseña y se reiniciará CUPS.

  • 4. Introducimos la siguiente dirección en el navegador web: http://localhost:631, una vez introducidos nuestro nombre de usuario y contraseña, nos metemos en administración y seleccionamos todas las casillas. Aceptamos y CUPS se reiniciará. Si no se reiniciara, lo cual se vería al salir una página de error en el navegador, pues lo reinicias desde una terminal manualmente:
$ sudo /etc/init.d/cupsys restart
  • 5. Nos vamos al ordenador con Windows y le damos a añadir impresora, seleccionamos impresora en Red, y en el cuadro escribimos:
http://*:631/printers/LaserJet-1200

El * deberás substituirlo por la dirección IP del ordenador conectado con la impresora (del tipo 192.168.1.0), y en vez de LaserJet-1200 deberás introducir el nombre de la impresora, en GNU/Linux no busques algo como nombre de impresora compartida ya que es el mismo nombre que tiene la impresora en el sistema. En Windows tal vez sea necesario instalar la impresora siendo administrador del sistema.

Listo, imprime una página de prueba.

SWAT

Fuente: http://www.guia-ubuntu.org/index.php?title=SWAT

De Guía Ubuntu

SWAT (acrónimo del inglés Samba Web Administration Tool, Herramienta de Administración Web de Samba) es una herramienta que permite la configuración gráfica de Samba.

Instalación

Para tener Samba y SWAT, instalamos los paquetes samba, swat y netkit-inetd de los repositorios oficiales de Ubuntu.

Después debemos activar SWAT en inetd:

$ sudo update-inetd --enable 'swat'

Por último establecemos un password al usuario root:

$ sudo -s
$ passwd

Uso

Para acceder a SWAT vamos al navegador y escribimos lo siguiente en la barra de direcciones:

http://localhost:901

SWAT pide un nombre de usuario y contraseña, si queremos acceder a todas las funcionalidades de Samba hemos de entrar como root.

No hace falta usar SWAT para configurar Samba, también se puede hacer mediante el programa Webmin o directamente editando el archivo smb.conf.

, , ,

  1. No comments yet.
(will not be published)