¿Cómo comparto una carpeta en una partición NTFS a través de la red?

16

Estoy en Ubuntu 11.10 y quiero compartir una carpeta en una partición NTFS montada automáticamente ( /dev/sda4) a través de la red. El propósito de esta red es compartir archivos entre computadoras, contiene principalmente computadoras con Windows. Yo uso esta /dev/sda4partición de Windows 7 y Ubuntu. Usando Nautilus, hago clic derecho en el directorio, luego hago clic en 'Opciones de uso compartido', luego marco las tres casillas de verificación. Sin embargo, cuando trato de aplicar la configuración, dice 'No se pudieron cambiar los derechos de la carpeta "nombre de carpeta"'.

He puesto la salida de sudo blkidy cat /etc/fstabdebajo.

sudo blkid

/dev/sda2: LABEL="Windows" UUID="481319C261268D8D" TYPE="ntfs" 
/dev/sda3: UUID="23dac5e8-aae7-43ac-964c-c8a5a033b0d7" TYPE="ext4" 
/dev/sda4: LABEL="Data" UUID="00F1B269675B86AE" TYPE="ntfs" 
/dev/sda5: UUID="6de8b757-f17e-4e36-935c-a3fd6012c628" TYPE="ext4" 
/dev/sda6: UUID="d504bae2-fad6-4f6a-b489-7719ad0fe3b3" TYPE="swap" 

cat /etc/fstab

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda3 during installation
UUID=23dac5e8-aae7-43ac-964c-c8a5a033b0d7 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda6 during installation
UUID=d504bae2-fad6-4f6a-b489-7719ad0fe3b3 none            swap    sw              0       0
/dev/sda4 /media/Data ntfs defaults,umask=007,gid=46 0 0 

¿Cómo puedo compartir esta carpeta?

Exeleration-G
fuente
Cuando dices "a través de la red", ¿qué quieres decir con qué tipo de computadoras estarán allí? Windows? ¿Entonces necesitas samba, solo Linux? Entonces se recomienda NFS ... Danos más información.
Bruno Pereira
1
Creo que los permisos fstabdeben ser cambiados. Pruebe el mismo procedimiento con eliminado gid(no olvide volver a montar) y díganos si ayudó.
Andrejs Cainikovs
He actualizado la pregunta. La eliminación gidde /etc/fstablas marcas de la última línea mirada como esto: /dev/sda4 /media/Data ntfs defaults,umask=007 0 0. /dev/sda4no está montado en el inicio, sudo mount /dev/sda4 /media/Datame da el siguiente resultado:Mount is denied because the NTFS volume is already exclusively opened. The volume may be already mounted, or another software may use it which could be identified for example by the help of the 'fuser' command.
Exeleration-G

Respuestas:

14

Después de un poco de búsqueda, encontré la solución yo mismo:

En primer lugar, tuve que darme la propiedad sobre /dev/sda4, y tuve que dar groupy othersleer y ejecutar permiso. Lo hice cambiando la entrada de partición en /etc/fstab.

Para hacer eso, tenía que saber mi uidy gid. Entonces, lo primero que hice fue escribir el siguiente comando en una Terminal:

id $USER

Esto dará una salida como esta:

UID=1000(myname) GID=1000(myname) groups=1000(myname),4(adm),24(cdrom), ...

Así que ahora sabía que tanto mi uidcomo mi gideran 1000.

¿Ya sabes el nombre de la partición NTFS? Si no, escriba este comando en una Terminal:

sudo blkid

y escriba la partición NTFS en una hoja de papel.

Ahora, para cambiar los permisos, edité /etc/fstabcon el nanoeditor de texto. Entonces, el siguiente comando que debe escribir en una terminal es:

sudo nano /etc/fstab

Ve hasta abajo y escribe esta línea:

/dev/sda4 /media/Data ntfs defaults,umask=0022,uid=YourUIDHere,gid=YourGIDHere 0 0

(Debería reemplazarlo /dev/sda4por la partición NTFS que escribió anteriormente).

Explicación: umask=0022fija del directorio ( d) permisos permisos para drwxr-xr-x, para asegurarse de que el usuario (yo) puede leer, escribir y ejecutar ( rwx), mientras que el groupy otherssólo puede leer y ejecutar ( r-x) el directorio, que es lo que quería.

Después de eso, podría marcar las tres casillas de verificación sin ningún error, y la carpeta se compartiría a través de la red. Como no estaba seguro de si la configuración para compartir se mantendría después de un reinicio, desactivé las casillas de verificación y agregué algunas líneas /etc/samba/smb.conf. Lo hice de esta manera:

En una terminal, escribí sudo nano /etc/samba/smb.conf

Me desplacé hasta la última línea y pegué lo siguiente allí:

[MyShare]
    comment = My Share
    path = /media/Data/FolderToBeShared
    browseable = yes
    guest ok = yes
    read only = yes
    create mask = 0755

Guardé el archivo y luego reinicié. La carpeta estaba accesible desde la red ahora.

Exeleration-G
fuente
1
Brillante. Como un novato completo de Linux / Ubuntu, estuve golpeándome la cabeza contra la pared durante 2 días porque si hubiera sido una máquina con Windows, lo habría hecho en 10 minutos.
Patrick
¿Puedes editar esta respuesta con todos los comandos que tenías que escribir, por favor? No estoy seguro de entender lo que quieres decir con "darme la propiedad /dev/sda4".
Tienda Enrique Moreno
Claro, pero luego, por favor deme una actualización sobre si las instrucciones funcionaron para usted. Ya no estoy usando una partición NTFS, así que no puedo verificarlo por mí mismo.
Exeleration-G
0

La solución más simple que se me ocurre es usar un enlace simbólico a la partición NTFS.

Cómo haría esto es:

  • Cree una carpeta en su partición de Ubuntu que pueda compartir.
  • Enlace la carpeta en la partición de Windows para estar dentro de esta carpeta:
    ln -s /path/to/folder/on/ntfs /path/to/new/location/linkname
  • Configure la carpeta principal que creó para compartirla en la red, eligiendo las opciones adicionales que desee (por ejemplo, permitir invitados, etc.).
  • Haga clic en "aplicar permisos a los archivos adjuntos" en la pestaña de permisos. No se aplicarán todos los permisos, por supuesto, pero el acceso de lectura debería ser suficiente.

No lo he probado yo mismo, pero si entiendo compartir correctamente, debería poder funcionar.

RolandiXor
fuente
Eso sería ln -s, ¿verdad? Probándolo ahora mismo.
Exeleration-G
@ Exeleration-G: sí, perdón por el error tipográfico
RolandiXor
1
Sin embargo, esto no funcionó para mí, gracias.
Exeleration-G
0

simplemente monte el directorio ntfs como:

-o uid=current_user,gid=current_usergroup

obtener el usuario actual y el grupo de usuarios actual como lo señala Exeleration-G:

id MyUserName
ashishsony
fuente