¿Cómo le doy acceso a múltiples usuarios a una partición de Windows NTFS?

8

Tengo un disco duro USB conectado a mi máquina Ubuntu (11.04). Cada vez que reinicio la computadora e inicio sesión, se monta el disco duro. Dado que el disco tiene NTFS, Linux asigna algún usuario para que sea el propietario de los archivos en el disco. Por lo tanto, todos los archivos en el disco parecen ser propiedad de un usuario y solo ese usuario puede ver los archivos.

Utilizo dos cuentas de usuario en mi computadora y, a menudo, cambio entre ellas. Una vez que cambio a otra cuenta de usuario, ya no puedo acceder al contenido del disco porque es propiedad de mi primera cuenta de usuario. ¿Se puede hacer algo al respecto excepto montarlo a través de / etc / fstab?

Gracias.

Alexander Sandler
fuente

Respuestas:

14

Montaje con permisos específicos

Ahi esta. Pon a ambos usuarios en un grupo juntos. Luego use ese grupo para configurar la gid=opción y monte su disco con los permisos que desea que tenga. Puede controlar los permisos con umask=, fmask=y dmask=las opciones del comando mount. Aquí hay un ejemplo:

mount -O dmask=007,fmask=117,gid=46,uid=1000 /dev/sdc1 /media/winhdd

Estas opciones también se pueden utilizar en /etc/fstabeste aspecto: UUID=7258CB9858CB598D /media/win ntfs rw,auto,user,exec,nls=utf8,dmask=007,fmask=117,gid=46,uid=1000 0 2.

Evitar fstab: montar automáticamente un disco específico con udev

Me imagino que quieres evitar fstab porque el disco no siempre se conecta al arrancar. Si desea evitar fstab, use una regla udev . Udev puede montarse automáticamente (y evitar que Ubuntu se monte automáticamente) cuando el disco está conectado. Una regla para eso puede verse así:

# In /etc/udev/rules.d/70-usb-winhdd-mount.rules

KERNEL=="sd?[0-9]", ATTR{removable}=="1", ATTRS{serial}=="UA04FLGC", ACTION=="add", RUN+="mount -O dmask=007,fmask=117,gid=46,uid=1000 /dev/%k /media/winhdd"

Deberá identificar el disco por sus propiedades. En mi ejemplo hice esto por ATTRS{serial}=="UA04FLGC". Describí cómo hacer esto en otra pregunta . El nombre y la ubicación de los archivos de reglas también se describen allí.

Dar a todos los discos extraíbles esas propiedades

Si desea hacer esto con todos los discos extraíbles, no solo con ese en particular, simplemente omita la parte en serie y asegúrese de asignar un punto de montaje único (contándolos, creando desde serie,% -symbol de udev u otro método). Además, como se indicó en otra parte, ENV{mount_options}="$env{mount_options},dmask=007,fmask=117,gid=46,uid=1000" podría ser una opción para montar todos los discos extraíbles con ciertos permisos / responsabilidad.


Información útil que quizás ya conozcas:

Crear un grupo y agregar usuarios

Esos son los comandos de shell para crear un grupo llamado 'winhdd' y agregar un usuario llamado 'confus' a ese grupo:

groupadd winhdd
usermod -a -G winhdd confus

Descubriendo la identificación del grupo

Puede encontrar los identificadores de grupo de todos los grupos en su sistema en un archivo llamado /etc/group. Las entradas allí parecen winhdd:x:4:confus,narur,joedonde 'confus', 'narur' y 'joe' son los nombres de usuario que pertenecen a ese grupo, 'adm' es el nombre del grupo y '4' la identificación del grupo, que está buscando. En /etc/groupsTambién puede comprobar si la adición de los usuarios a su grupo tuvo éxito. El comando getent group winhddmostraría la línea con información sobre el grupo. El idcomando le proporciona su identificación de grupo, identificación de usuario y los nombres e identificaciones de todos los grupos a los que pertenece.

Establecer opciones similares a umask

Deberá establecer dmask=un valor razonable que le permita al menos ejecutar (= acceder) directorios. fmask=es la opción para permisos de archivo.

dmask=007,fmask=117,gid=46,uid=1000permite al propietario que es el usuario número 1000 (primer dígito en las máscaras) y a los miembros del grupo número 46 (segundo dígito en la máscara) leer y escribir y archivos en el disco. Otros usuarios no tienen derecho a hacer nada (de ahí el tercer dígito en las máscaras: el 7). Aquí están los valores de la máscara :

7 – no permissions     6 – execute only    5 – write only
4 – write and execute  3 – read only       2 – read and execute
1 – read and write     0 – read, write and execute
con-f-use
fuente
He leído que las entradas ntfs fstab deben configurarse con valores dmask y fmask, no valores umask ... dmask 027 y fmask 137 - ubuntuforums.org/showthread.php?&t=283131
fossfreedom
Correcto, los directorios deben tener permisos ejecutables. Si desea que los archivos sean ejecutables, umask está bien. Más dmask y fmask es el camino a seguir.
con-f-use