Si uso el acceso directo K del Finder, puedo montar recursos compartidos SMB como mi usuario normal de MacOS. Se crea un punto de montaje en /Volumes, y el punto de montaje será propiedad del usuario con el que he iniciado la sesión.
Pero este enfoque tiene sus limitaciones. Una de ellas es que Finder sólo le permitirá utilizar una cuenta en el sistema remoto. En otras palabras, si tengo acceso a dos directorios personales bajo diferentes cuentas en el mismo servidor SMB, no puedo montar ambos con Finder.
Pero puedo montar ambos desde la línea de comandos. El comando es:
mount -t smbfs //user@host/target mount-point
Aparentemente, en las versiones más antiguas de MacOS simplemente se ejecutaba este comando como usuario normal y el montaje resultante era propiedad de ese usuario. Alguien dice haber tenido éxito haciendo esto aquí .
Otra persona tuvo el mismo problema que yo, pero con un error diferente, aquí . Las soluciones aportadas entonces no funcionan ahora.
En mi sistema MacOS 10.15.7, no se puede ejecutar el mount
a menos que seas Root. El error que se obtiene si se ejecuta sin Root depende de si el punto de montaje existe o no.
Si lo hace:
macbook:~ user$ mount -t smbfs //user@host/remote-path local-path
Password for host:
mount_smbfs: mount error: /Users/user/local-path: File exists
mount: /Users/user/local-path failed with 64
Si no lo hace:
macbook:~ user$ rmdir local-path
macbook:~ user$ mount -t smbfs //user@host/remote-path local-path
mount: realpath /Users/user/local-path: No such file or directory
El File exists
no se debe a que el recurso compartido SMB ya esté montado.
Si ejecuto el comando como Root, entonces tiene éxito si el punto de montaje existe, pero el punto de montaje es propiedad de Root y sólo es accesible por Root.
El comando equivalente en Linux acepta un -o uid=<uid>
que controla qué usuario será el propietario de los archivos. La página de manual de mount_smbfs
no documenta ninguna opción de este tipo, y no acepta el -o uid
opción.
¿Hay alguna manera de hacer lo que hace Finder (hacer que el punto de montaje sea propiedad de user
) pero desde la línea de comandos?