Quiero montar un recurso compartido SMB con diferentes credenciales de usuario. Por lo tanto quiero usar
mount -o nodev,nosuid -t smbfs //user:pass=<word@host/share /mnt/share
Sin embargo, este comando falla:
-bash: word@host/share: No such file or directory
Al intentar pasar la contraseña a través de una variable, obtengo:
$ export PWD="pass=<word"
$ mount -o nodev,nosuid -t smbfs //user:$PWD@host/share /mnt/share
mount_smbfs: URL parsing failed, please correct the URL and try again: Invalid argument
mount
en otros sistemas parece aceptar nombre de usuario y contraseña como opciones de montaje, como:
$ mount -o nodev,nosuid,domain=mydomain,username=user,password="pass=<word" -t smbfs //host/share /mnt/share
o a través de un archivo de credenciales:
$ cat credentials.txt
username=user
password=pass=<word
domain=mydomain
$ mount -o nodev,nosuid,credentials=./credentials.txt -t smbfs //host/share /mnt/share
Sin embargo, ambas formas no están disponibles con el montaje de MacOS:
mount_smbfs: -o credentials: option not supported
mount_smbfs: -o domain: option not supported
mount_smbfs: -o username: option not supported
mount_smbfs: -o password: option not supported
Así que la pregunta es: ¿Cómo proporcionar la contraseña a mount_smbfs de MacOS? Soy consciente de que cambiar la contraseña resolvería el problema, pero por razones esto no es una opción.
0 votos
Estás pasando un operador de redirección en medio del URI, y no lo estás escapando y no estás citando el URI. Por lo tanto, estás instruyendo al shell para que ejecute un binario llamado 'share' desde un directorio llamado 'word@host' con '/mnt/share' como argumento y pasarlo a una invocación de montaje.
0 votos
@MarcWilson Exactamente ese es el problema. De ahí la pregunta de cómo escapar de ella.
0 votos
¿Podemos asumir que su caparazón es
bash
y la versión es GNU bash, versión 3.2.57(1)-release (x86_64-apple-darwin18)0 votos
@bmike Sí, es correcto, aunque es darwin17, no darwin18.