Montar carpeta de red en modo lectura/escritura

Buenas

Vuelvo por aquí con otra pregunta...

He intentado buscar en internet la respuesta pero todo lo que he probado, no ha funcionado, no sé si hago algo mal.

Quiero montar las carpetas compartidas que tengo en el server de casa (está con Windows 7), y montar las consigo montar, escrbiendo:

sudo smbmount //192.168.1.2/Downloads /mnt/descargas -o username=miusuario


Me pide contraseña, la introduzco y ya está. El problema es que quiero que pueda tanto leer como escribir, y no lo consigo.

Qué parámetros tendría que usar para que pueda hacerlo? Tengo poco espacio en la partición Linux y quiero tener la carpeta contínuamente a mano para meter todo lo que descargue en el server directamente.

Un saludo
Bueno, en primer lugar smbmount usa smbfs que está obsoleto, deberías pasarte a cifs, el comando equivalente al tuyo sería:

sudo mount -t cifs //192.168.1.2/Downloads /mnt/descargas -o user=usuario


Con esto debería funcionarte, si no es así asegurate de permitr la modificación de las particiones y activar el soporte de escritura para dispositivos externos e interno en las Herramienta de configuración NTFS.

Por cierto, la contrasña no debe incluir comas (,), si las incluye deberás suministrar la contraseña mediante un fichero de configuración.

Si no te funcionase prueba a añadir las opciones rw y nosetuids para montar el recurso en modo lectura/escritura y no intentar establecer los uids.

sudo mount -t cifs //192.168.1.2/Downloads /mnt/descargas -o user=miusuario,nosetuids,rw


Si tampoco te funcionase indicame la salida del comando y el contenido de los logs.
He probado ambos comandos pero no he conseguido lo que quería. Con el primer comando me lo ha montado y todo bien, pero sigo con el problema de no poder escribir. Lo que me comentas de la herramienta de configuración de ntfs no sé dónde encontrarlo o cómo hacerlo

He mirado en los paquetes instalados y se supone que está instalado ntfs3g, indica que es lo necesario para escribir en sistemas ntfs (aparecen más paquetes también instalados)

Al escribir el segundo comando me dice lo siguiente:

Usage: mount -V                 : print version
       mount -h                 : print this help
       mount                    : list mounted filesystems
       mount -l                 : idem, including volume labels
So far the informational part. Next the mounting.
The command is `mount [-t fstype] something somewhere'.
Details found in /etc/fstab may be omitted.
       mount -a [-t|-O] ...     : mount all stuff from /etc/fstab
       mount device             : mount device at the known place
       mount directory          : mount known device here
       mount -t type dev dir    : ordinary mount command
Note that one does not really mount a device, one mounts
a filesystem (of the given type) found on the device.
One can also mount an already visible directory tree elsewhere:
       mount --bind olddir newdir
or move a subtree:
       mount --move olddir newdir
One can change the type of mount containing the directory dir:
       mount --make-shared dir
       mount --make-slave dir
       mount --make-private dir
       mount --make-unbindable dir
One can change the type of all the mounts in a mount subtree
containing the directory dir:
       mount --make-rshared dir
       mount --make-rslave dir
       mount --make-rprivate dir
       mount --make-runbindable dir
A device can be given by name, say /dev/hda1 or /dev/cdrom,
or by label, using  -L label  or by uuid, using  -U uuid .
Other options: [-nfFrsvw] [-o options] [-p passwdfd].
For many more details, say  man 8 mount .


Sabrías cómo solucionarlo o qué está mal?

Gracias por tu ayuda una vez más ;)

------------------

EDITO:

Quizá sea porque mi usuario normal no tiene permisos de escritura en esa carpeta? Estoy mirando el comando chmod pero no acabo de conseguir que me deje escribir con mi usuario ni en mnt ni ya dentro de la carpeta descargas
Hombre necesitas que la carpeta donde montas tengas los permisos de escritura si no es normal que no te deje, yo recuerdo que en Ubuntu lo hacia cargando nautilus como administrador y desde las propiedades de la carpeta modificaba los permisos. (por si lo quieres hacer "gráficamente")
<<PoRtNoY>> escribió: Lo que me comentas de la herramienta de configuración de ntfs no sé dónde encontrarlo o cómo hacerlo


si mal no recuerdo está en el panel de control, herramientas administrativas, pero hablo de memoria, hace mucho que no uso un windows...

<<PoRtNoY>> escribió:He mirado en los paquetes instalados y se supone que está instalado ntfs3g, indica que es lo necesario para escribir en sistemas ntfs (aparecen más paquetes también instalados)


no necesitas para nada ntfs-3g, te estás conectando a un disco remoto de una máquina windows y el windows ya sabe como leer y escribir en ntfs! ntfs-3g lo necesitarías si quisieses servir por samba un disco local ntfs conectado a tu linux.

<<PoRtNoY>> escribió:Sabrías cómo solucionarlo o qué está mal?


lo que está mal es que tienes que separar las opciones con comas, se me había pasado en el texto que escribí, ya lo he editado.

<<PoRtNoY>> escribió:Quizá sea porque mi usuario normal no tiene permisos de escritura en esa carpeta? Estoy mirando el comando chmod pero no acabo de conseguir que me deje escribir con mi usuario ni en mnt ni ya dentro de la carpeta descargas


Como ya te dije, el directorio donde montas tiene que tener permisos de lectura/escritura para el usuario que estás usando. Un
sudo chmod 777 /mnt/descargas
debería arreglarlo, pero antes de decirte nada más una pregunta, el usario que estás indicando en la opción username ¿es un usuario de tu linux o de la máquina windows remota?
He vuelto a intentarlo, esta vez con comas, y me lo monta bien, pero sigo sin poder escribir ahí. Incluso he hecho un chmod 777 a la carpeta descargas tal y como me lo ponías, pero nada

El usuario casualmente es el mismo en ambos, así que no debería ser problema (se supone que hay que poner el de windows, verdad?)

No sé qué más tengo que hacer... [snif]

-------------------

EDITO:

Como curiosidad, indicar que si entro por el entorno gráfico a la red, desde "Lugares" y luego "Red", entro a las carpetas compartidas, y las puedo leer y puedo escribir en ellas, así que debe de haber algún modo

Quiero hacerlo mediante consola para aprender y también para montarlo donde yo quiero, y poder incluirlo en fstab para que realice esta tarea automáticamente cada vez que inicio sesión

Algún misterio se nos escapa...
<<PoRtNoY>> escribió:He vuelto a intentarlo, esta vez con comas, y me lo monta bien, pero sigo sin poder escribir ahí. Incluso he hecho un chmod 777 a la carpeta descargas tal y como me lo ponías, pero nada

El usuario casualmente es el mismo en ambos, así que no debería ser problema (se supone que hay que poner el de windows, verdad?)


me parece muy raro, como no estoy delante para saber qué te dice el comando o los logs ni como tienes la configuración en uno y otro lado, vamos a ir despacio y paso a paso, sin dar nada por supuesto, a ver si encontramos el problema

primero las suposiciones de partida, supongamos que:
- el directorio de linux donde quieres montar el recurso compartido es /mnt/descargas
- la carpeta que compartes en windows es c:\compartido con el nombre de recurso comparto
- el usuario de windows con acceso a la carpeta compartida es wuser y su contraseña wpass
- existe un usuario de linux con el mismo nombre wuser pero con contraseña lpass y que pertenece al grupo guser
- el usuario con el que entraste en linux (logon) es miuser y la contraseña mipass y su grupo es también miuser
- la máquina windows se llama winpc y responde al hacerle un ping con ese nombre

bien, para compartir la carpeta en windows has hecho lo siguiente: ir a propiedades de la carpeta, seleccionar la pestaña compartir, elegir "compartir esta carpeta" y en "recurso compartido" has escrito comparto, luego has pulsado en el botón permisos y has elegido dado permitir control total a Todos. Luego en la pestaña Seguridad has elegido el usuario wuser y le has dado permisos de control total (o de lectura y escritura) [o bien les has dado esos permisos a todos]

En la máquina linux has hecho sesión con el usuario miuser y estás en tu directorio home, ahora creas el directorio /mnt/descargas y le das permisos apropiados:

$ sudo mkdir /mnt/descargas && sudo chmod 755 /mnt/descargas


antes de nada asegurate de que el recurso no está ya montado, para ello:

$ mount | grep -i comparto


y no debería aparecer nada, si apareciese alguna referencia a //pcwin/comparto primero tendrías que desmontarlo (pero antes escribe el texto aquí)

$ sudo umount //pcwin/comparto


ahora vas a montar el recurso:

$ sudo mount -t cifs //winpc/comparto /mnt/descargas -o username=wuser


ojo con no confundir petición de contraseña para ejecutar sudo con la petición de contraseña para conectar al recurso compartido. Primero pregunta la de sudo y luego la del recurso compartido, a la primera responde con mipass y a la segunda con wpass

con esto deberías ver en /mnt/descargas el contenido de la carpeta c:\compartido del windows (winpc) y deberías poder escribir en él. Si haces un listado completo de /mnt/descargas verás que todos los ficheros pertenecen a root, esto es así porque no le has dicho el usuario que va a tomar posesión de los ficheros, si quieres que sea un usuario concreto distinto de root tendrías que ejecutar el mount con las siguientes opciones:

$ sudo mount -t cifs //winpc/comparto /mnt/descargas -o username=wuser,uid=linux_user,gid=linux_group


fijate que no es necesario que el usuario que indiques en uid sea el mismo que indicas en username, es sólo un usuario de linux que quieres que tome posesión de los ficheros al montar el recurso compartido, esto sólo tiene importancia a efectos de linux, por ejemplo podrías hacer:

$ sudo mount -t cifs //winpc/comparto /mnt/descargas -o username=wuser,uid=wuser,gid=guser


para el usuario wuser de linux, o si quieres usar tu usuario de sesión:

$ sudo mount -t cifs //winpc/comparto /mnt/descargas -o username=miuser,uid=miuser,gid=miuser


Por defecto mount.cifs ya monta el recurso como lectura/escritura así que no es necesario indicarlo como opción.

Ahora vas a probar a escribir en el recurso compartido:

$ cd /mnt/descargas
$ touch fichero_de_prueba
$ ls -l fi*


Debería aparecerte en el listado un fichero de 0 bytes de nombre fichero_de_prueba

Si esto no te funciona, dime que te devulve el comando mount y los de crear el fichero y que te aparece en los logs del sistema

<<PoRtNoY>> escribió:Quiero hacerlo mediante consola para aprender y también para montarlo donde yo quiero, y poder incluirlo en fstab para que realice esta tarea automáticamente cada vez que inicio sesión


Para incluirlo en el fstab simplemente tienes que añadir la linea siguiente:

//pcwin/comparto      /mnt/descargas      cifs    rw,auto,credentials=/home/miuser/cifscred   0       0


y te creas un fichero cifscred en tu home con el siguiente contenido:

username=wuser
password=wpass


Asegurate de protegerlo adecuadamente.
Lo primero, GRACIAS, te has pegado un currazo del copón, y te lo agradezco un montón, de verdad

para el usuario wuser de linux, o si quieres usar tu usuario de sesión:

CÓDIGO: SELECCIONAR TODO
$ sudo mount -t cifs //winpc/comparto /mnt/descargas -o username=miuser,uid=miuser,gid=miuser


Éste ha sido el que me ha servido, con éste ya he podido leer/escribir en la unidad montada, así que por fin lo he conseguido, gracias a ti

Ahora tengo que probar lo de añadirlo al fstab para que se monte siempre automáticamente, pero es tarde y a ver si mañana puedo echarle un ojo.

Sabiendo que la línea que me ha funcionado es la que te he dicho, tendría que cambiar algo en fstab? O tal y como me lo has puesto valdría?

Una vez más, mil gracias! [beer]
En la linea del fstab que te he puesto deberas incluir las opciones uid y gid:

//pcwin/comparto      /mnt/descargas      cifs    rw,auto,uid=miuser,gid=miuser,credentials=/home/miuser/cifscred   0       0


y crear el fichero /home/miusercifscred con el contenido que te dije, básicamente el usuario y contraseña para acceder al recurso compartido.

De todas formas, cuando montas la unidad de manera que puedes escribir con tu usuario en ella (usando el comando que has dicho que te funciona), haz un ls y ponme aquí el resultado:

ls -ld /mnt/descargas
krahs escribió:En la linea del fstab que te he puesto deberas incluir las opciones uid y gid:

//pcwin/comparto      /mnt/descargas      cifs    rw,auto,uid=miuser,gid=miuser,credentials=/home/miuser/cifscred   0       0


y crear el fichero /home/miusercifscred con el contenido que te dije, básicamente el usuario y contraseña para acceder al recurso compartido.

De todas formas, cuando montas la unidad de manera que puedes escribir con tu usuario en ella (usando el comando que has dicho que te funciona), haz un ls y ponme aquí el resultado:

ls -ld /mnt/descargas


Pues ya está todo en marcha, parece que todo va bien, incluso la línea de fstab, ya que he cerrado sesión y ya he vuelto a iniciarla y me ha cargado las carpetas correctamente.

Lo que me ha devuelto el código que me indicabas es lo siguiente:

drwxr-xr-x 1 koldo koldo 4096 may 20 13:52 /mnt/almacen


Gracias por tu ayuda!
de nada, ahora a por tu nuevo reto en linux ;)
10 respuestas