Forma correcta de montar un recurso compartido de Windows

20

Monté un recurso compartido de Windows en mi sistema Ubuntu 11.10 agregando la siguiente línea a /etc/fstab:

//serveraddr/sharedfolder /mnt/foldername/ smbfs credentials=/home/myname/.smbpasswd 0 0

usando el tutorial aquí .

Pero hay un problema con los permisos. El propietario de la carpeta de montaje es root. No puedo crear ninguna carpeta o archivo en el punto montado si no me convierto en la raíz. Incluso no puedo cambiar la propiedad de mi usuario predeterminado a través de

sudo chown -R myname .

Busqué en Google y vi que podría deberse al hecho de que los formatos de archivo de Windows (fat32 / ntfs) no pueden guardar la propiedad. Pero cuando me conecto a la misma ubicación a través de samba como

smb://serveraddr/sharedfolder

Al proporcionar mis credenciales, tengo los privilegios de escribir sin ser la raíz.

¿Cómo puedo hacer que me permita escribir en la carpeta montada?

petrichor
fuente

Respuestas:

29

No utilice smbfs, el nombre del nuevo protocolo es cifsy es parte del paquete cifs-tools(instálelo si aún no lo hizo.

En su lugar, use esta línea en su fstab

//server/share /mnt/mountname cifs username=server_user,password=user_password,iocharset=utf8,file_mode=0777,dir_mode=07‌​77 0 0

Dónde

server = your server that you are trying to access
share = mapped share on that server
/mnt/mountname = any folder that you created with sudo /mnt/<folder_name>
username = the name of the user on that server that can access the mount
password = the password for that user

Después de eso, puede probar con sudo mount -a, si no tiene fallas, puede reiniciar de manera segura para encontrar sus recursos compartidos montados /mnt/<folder_name>.

Para usar un archivo de credenciales en lugar de los parámetros usernamey passworden el fstab, puede crear un archivo con esas 2 líneas para que su nombre de usuario y contraseña no se muestren explícitamente en el fstab

sudo nano /etc/cifspwd

Agregue estas líneas al archivo

username=<username on server>
password=<password for that username>

Presione las teclas ctrl + x y cuando se le pida, presione ypara guardar el archivo.

Asegúralo con

sudo chmod 600 /etc/cifspwd

Use esta línea en lugar de la anterior.

//server/share /mnt/mountname cifs credentials=/etc/cifspwd,iocharset=utf8,file_mode=0777,dir_mode=07‌​77 0 0

Después de esto, será seguro reiniciar y su montaje debe estar montado y sus detalles asegurados.

Bruno Pereira
fuente
Si esto no funciona, pegue la salida de cat ~/.smbpasswd.
Bruno Pereira
@ bbrunopereira81: No funciona. cat .smbpasswdda user=name.surname pass=******* dom=domainname
petrichor
@ İsmailArı ¿por qué tienes dominio? ¿Eres parte de un dominio? tratar de usar todo en la misma línea en vez de hacer un archivo aparte para las credenciales, intente esto en un terminal: sudo mount -t cifs //ip_from_windows_pc/sharename /mnt/share -o username=windows_username,password=windows_password_for_user,iocharset=utf8,file_‌​mode=0777,dir_mode=0777. si tiene fallas escríbalas.
Bruno Pereira
1
Se agregó información para el archivo de credenciales, también puede usar ese método.
Bruno Pereira
2
Creo que vale la pena señalar que en Ubuntu 12.10, "modo" no era un parámetro válido. En cambio, tuve que usar "file_mode". Además, no estoy seguro de estar totalmente de acuerdo con los permisos generales de 0777. Si está montando un recurso compartido privado solo para usted, creo que sería más apropiado algo como "file_mode = 0660, dir_mode = 0770".
Avian00