Diferencia entre revisiones de «Montar comparticiones remotas usando smbfs y cifs»

De Guía Ubuntu
Saltar a: navegación, buscar
(Categorizando y sugiriendo fusion)
(Permisos especiales)
 
(No se muestran 4 ediciones intermedias realizadas por 4 usuarios)
Línea 3: Línea 3:
 
Traducción de: https://wiki.ubuntu.com/MountWindowsSharesPermanently
 
Traducción de: https://wiki.ubuntu.com/MountWindowsSharesPermanently
  
{{esbozo}}
 
 
{{fusionar|Samba}}
 
{{fusionar|Samba}}
  
= Instalación del sistema de ficheros Samba =
+
== Instalación del sistema de ficheros Samba ==
 +
 
 +
$ sudo aptitude install smbfs
  
$ sudo apt-get install smbfs
+
== Montar carpetas de red desprotegidas (accesibles como invitado) ==
  
= Montar carpetas de red desprotegidas (accesibles como invitado) =
 
 
Asumiendo que:
 
Asumiendo que:
 
* La conexión de red está configurada correctamente
 
* La conexión de red está configurada correctamente
Línea 36: Línea 36:
 
Con lo que se volverán a montar todas las entradas de /etc/fstab
 
Con lo que se volverán a montar todas las entradas de /etc/fstab
  
= Montando carpetas de red protegidas por contraseña =
+
== Montando carpetas de red protegidas por contraseña ==
 +
 
 
Asumiendo todo lo dicho, y lo siguiente:
 
Asumiendo todo lo dicho, y lo siguiente:
 
* El usuario de la carpeta compartida en la máquina Windows es ''myusername''.
 
* El usuario de la carpeta compartida en la máquina Windows es ''myusername''.
Línea 63: Línea 64:
 
   
 
   
 
  //servername/sharename  /media/mountname  smbfs  credentials=~/.smbcredentials,dmask=777,fmask=777  0  0
 
  //servername/sharename  /media/mountname  smbfs  credentials=~/.smbcredentials,dmask=777,fmask=777  0  0
 
  
 
o bien, para dar sólo permisos de lectura:
 
o bien, para dar sólo permisos de lectura:
  
 
  //servername/sharename  /media/mountname  smbfs  credentials=~/.smbcredentials  0  0
 
  //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
 
'''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
Línea 80: Línea 84:
 
  mount /media/mountname
 
  mount /media/mountname
 
  exit 0
 
  exit 0
 
  
 
{{esbozo}}
 
{{esbozo}}
  
= Permisos especiales =
+
== 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''):
 
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
+
  //servername/sharename  /media/mountname  smbfs  uid='''eguser''',credentials=/home/tu_usuario/.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).
 
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 =
+
== Problemas conocidos ==
  
== Las carpetas compartidas sin protección por contraseña no se montan automáticamente ==
+
=== 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:
 
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:
Línea 99: Línea 103:
 
  //servername/sharename  /media/mountname  smbfs  username=guest,password=,uid=1000,iocharset=utf8,codepage=unicode,unicode  0  0
 
  //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`
  
== Bugs y otras notas ==
+
=== Bugs y otras notas ===
  
 
''It [https://bugzilla.samba.org/show_bug.cgi?id=1920#c0 appears to be true]. I just fought through [http://ubuntuforums.org/showthread.php?p=2911178 several strange problems] after following this guide, only to have everything solved by using CIFS instead.''
 
''It [https://bugzilla.samba.org/show_bug.cgi?id=1920#c0 appears to be true]. I just fought through [http://ubuntuforums.org/showthread.php?p=2911178 several strange problems] after following this guide, only to have everything solved by using CIFS instead.''

Última revisión de 23:02 4 dic 2011

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

Fusionar.png
Se ha sugerido que este artículo o sección sea fusionado con Samba. (Se puede discutir esto en Discusión).


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

Este artículo es, por ahora, sólo un esbozo.
Ampliándolo ayudarás a mejorar Guía Ubuntu.


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=/home/tu_usuario/.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`

Bugs y otras notas

It appears to be true. I just fought through several strange problems after following this guide, only to have everything solved by using CIFS instead.