¿Cómo monte correctamente una partición NTFS en / etc / fstab?

73

Después de un episodio desagradable (el segundo, creo que aprendería) causado por descargas automáticas de podcasts sin supervisión que llenan toda mi partición, finalmente me mudé ~/Musica su propia partición. La partición que estoy usando ya estaba formateada NTFS (esta es la parte genial: cuando obtuve esta computadora hace tres años, en realidad la configuré con una partición de música 20G precisamente porque había tenido este problema antes, pero nunca realmente me organicé para almacenar música en él. Así que esa es mi historia de fondo. Esto es lo que necesito ahora:

Tengo dos particiones que quiero comenzar a montar al inicio:

/dev/sda3   /mnt/devel  ext4    defaults    0   2
/dev/sda2   /mnt/excess ntfs    defaults    0   2

La partición ext4 se monta bien (propiedad mía, solo yo puedo escribirla), pero la ntfs se monta propiedad de root con permiso de lectura y escritura para todos. No estoy seguro de cómo solucionar esto. ¿Hay algo peculiar sobre ntfs o hice algo en otro lugar que está causando este problema?

drwxr-xr-x  7 amanda amanda 4096 2012-03-14 19:07 devel
drwxrwxrwx  1 root   root   4096 2012-03-14 22:38 excess
Amanda
fuente
Las opciones "noatime" o "relatime" están disponibles y se recomiendan para el montaje permanente de NTFS (consulte man mount.ntfs). ¡También tuve algunos problemas de ocupado en el disco duro con ext3 / 4 y ntfs!

Respuestas:

90

Permisos para NTFS y sistemas de archivos vfat deben configurarse con las dmask, fmasky umaskopciones. dmaskcontrola los permisos de los directorios, fmaskcontrola los permisos de los archivos y umaskcontrola ambos. Dado que estas opciones establecen máscaras , deberían ser el complemento de los permisos que desee. Por ejemplo, rwx para el propietario y rx para otros es 022 en lugar de 755.

Para establecer el propietario, use las opciones uidy gidpara usuario y grupo, respectivamente. Puede encontrar su UID con el comando id -u. Para encontrar su GID, use id -g. Estos valores suelen ser 1000.

Un conjunto común de opciones de montaje para ntfs es uid=1000,gid=1000,dmask=027,fmask=137. Esto lo establece como el propietario de la unidad y establece los permisos para drwxr-x---.

Aquí hay dos líneas de mi / etc / fstab trabajando

UUID=EEA2B69CA2B668AB        /WIN_C     ntfs-3g   defaults,nls=utf8,umask=000,dmask=027,fmask=137,uid=1000,gid=1000,windows_names 0 0 
UUID=65AEC0E830EA0497        /WIN_D     ntfs-3g   rw 0 0

Si no obtiene un error visible después del reinicio y las particiones permanecen de solo lectura o aparece un error similar a:

Error mounting /dev/sda6 at /media/WindowsDrive: 
Command-line `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,dmask=0077,fmask=0177" "/dev/sda6" "/media/rolindroy/Media Center"' exited with non-zero exit status 14: The disk contains an unclean file system (0, 0). 
Metadata kept in Windows cache, refused to mount. 
Failed to mount '/dev/sda6': Operation not permitted The NTFS partition is in an unsafe state. 
Please resume and shutdown Windows fully (no hibernation or fast restarting), or mount the volume read-only with the 'ro' mount option

Esto se debe a que Windows 8 y 10 ofrecen una opción de "Inicio rápido" que depende de un apagado "no completo". Puede deshabilitar el inicio rápido siguiendo estos pasos en "Opciones de energía".

Bessman
fuente
Esa es de hecho la fuente de gran parte de lo anterior. También incluí algunas explicaciones más detalladas de cómo funcionan las opciones de máscara *.
bessman
3
Cómo es posible proporcionar un ejemplo más completo que muestra las opciones utilizadas en una línea desde/etc/fstab
PUK
3
@puk, sí UUID=3030BD846F74E514 /media/iam/ntfspartition ntfs-3g uid=1000,gid=1000,dmask=022,fmask=133 0 0, como he incluido en askubuntu.com/a/507326/221448 (donde también menciono bind).
Brady Trainor
1
@ScottFuid=0,gid=0
wjandrea
34

Si monta la partición ntfs con la opción de permisos, chmod / chown funcionará

/dev/sda2   /mnt/excess ntfs-3g    permissions,locale=en_US.utf8    0   2

Entonces puedes

sudo chown your_user:your_user /mnt/excess

Más fácil que uid, dmask, fmask.

Pantera
fuente
¿Alguna desventaja / efecto secundario de ese sudo chowncomando? ¿Qué hace exactamente?
ReneSac
55
El comando chown cambia el propietario del punto de montaje (/ mnt / exceso) al usuario deseado. Este paso tendrá que repetirse cada vez que se monte la partición, en mi experiencia (al menos después de cada reinicio) ... así que, haga lo correcto, configure uid / gid / umask ... Siempre pensé que fmask y dmask eran opcional, como cuando deseaba diferentes permisos para archivos y directorios.
thecarpy
7

Tuve algunos problemas con esto porque cuando reinicio el nombre del disco cambia ... ( sda0 a sdb2 )

Solucioné el problema montándolos por UUID en el fstab, puede ver el UUID para sus discos duros ingresando: sudo blkid

Haga una copia de seguridad de su archivo fstab:

sudo cp /etc/fstab /etc/fstab.orig

Asegúrese de triplicar, compruebe el >>, si coloca uno> sobrescribe su fstab!

sudo blkid >> /etc/fstab

Si aún lo arruinaste, puedes reemplazar tu fstab con el original:

sudo cp /etc/fstab.orig /etc/fstab

Luego haga una carpeta:

sudo mkdir /media/mydrivename

Configure el fstab:

sudo vim /etc/fstab

¡No olvide comentar la salida del blkid con un '#' al comienzo de las líneas!

Agregue esto al archivo fstab, puede encontrar el UUID en el bloque en la parte inferior que insertó con el comando anterior. media / mydrivename es donde se debe montar la partición.

UUID=xxxxxxxxxxxxxxxxx   /media/mydrivename ntfs    permissions,locale=en_US.utf8    0   2

Este es mi archivo fstab:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda2 during installation
UUID=5d4940cf-5cf5-443a-be11-1f7e551962d1 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda1 during installation
UUID=84b7e5e9-08c3-4641-b28b-99e0255e604d none            swap    sw              0       0

# 500 GB Webserver harddisk from lr-serv-01
UUID=BA9A48D39A488E37 /media/hdd1 ntfs permissions,locale=en_US.utf8 0 2

# 2 TB Movie share harddisk from lr-serv-01
UUID=7EB09666B09624A5 /media/hdd2 ntfs permissions,locale-en_US.utf8 0 2

#/dev/sda1: UUID="10EC004DEC003010" TYPE="ntfs" 
#/dev/sda2: LABEL="system" UUID="88A4FE47A4FE3772" TYPE="ntfs" 
#/dev/sda3: LABEL="storage_01" UUID="BA9A48D39A488E37" TYPE="ntfs" 
#/dev/sdb1: LABEL="storage_02" UUID="7EB09666B09624A5" TYPE="ntfs" 
#/dev/sdc1: UUID="84b7e5e9-08c3-4641-b28b-99e0255e604d" TYPE="swap" 
#/dev/sdc2: UUID="5d4940cf-5cf5-443a-be11-1f7e551962d1" TYPE="ext4" 
#/dev/sdd1: LABEL="storage_spotnet" UUID="EC6E8F416E8F0394" TYPE="ntfs" 
#/dev/sdd2: LABEL="storage_backup_pcs" UUID="6C2699D026999BA0" TYPE="ntfs" 
#/dev/sdd5: LABEL="storage_series" UUID="7670ABF770ABBC6D" TYPE="ntfs" 
#/dev/sdd6: LABEL="storage_winmx" UUID="564AB81B4AB7F5B9" TYPE="ntfs" 

Reinicie el sistema escribiendo:

sudo reboot

Para verificar si la partición está montada, puede escribir df -k.

Dése la propiedad a usted mismo:

sudo chown -R USERNAME:USERNAME /media/mydrivename

¡Hice esto en Ubuntu Server 14.04.01 !

Espero que esta respuesta ayude a alguien ;-)

rotgers
fuente
2
Si bien esto suena como un consejo generalmente sólido, me parecería más elegante simplemente copiar el UUID de la salida de en sudo blkidlugar de descargar todo /etc/fstaby corromperlo transitoriamente. Otra forma sería obtener el UUID del diálogo de propiedades de la partición en GParted.
David Foerster
Bueno, ya que estoy haciendo esto en mi servidor, realmente no veo una manera de copiarlo ... Todo lo que tengo es un teclado y bash.
Rotgers
La mayoría de los emuladores de terminal le permiten copiar cosas (suponiendo que esté utilizando acceso remoto o un emulador de terminal como screeno en tmuxlugar de un terminal virtual sin formato).
David Foerster
Mala suposición jaja, no estaba usando un emulador de terminal. Sin embargo, agregué algunas cosas a mi respuesta para hacer una copia del archivo fstab en caso de que alguien se equivoque. :)
rotgers
Cambié de usar UUID a LABEL porque, por alguna razón, los UUID cambiaron cuando ajusté una partición pero los nombres de las etiquetas no. También me resulta más fácil ver lo que sucede en fstab con LABEL = "some-name" que UUID = "cadena aleatoria larga".
Vista elíptica
6

Puede usar la utilidad GUI ntfs-config para montar particiones NTFS en fstab. Y puede habilitar / deshabilitar fácilmente las capacidades de lectura-escritura.

Montar NTFS Partición de Windows FSTAB

Guía más detallada: Montaje de particiones de Windows en Ubuntu al inicio

Gayan Weerakutti
fuente
¡Gracias! ¿Cómo creaste ese lindo gif animado?
Hans-Peter Störr
1
@hstoerr de byzanz-record . Sin embargo, ahora hay mejores alternativas.
Gayan Weerakutti
4

Puede que no sea una buena solución, pero siempre puede asignar la identificación del usuario a la suya, o la identificación del grupo:

Solo un ejemplo aquí, mi ID de usuario era 1000

/dev/sda5 /mnt/excess ntfs defaults,uid=1000,rw 0 0

En ese caso, todos los archivos montados propiedad del usuario ided 1000

margarita
fuente
1
Eso funciona, pero con o sin la opción "rw", todavía se monta con permisosdrwxrwxrwx
Amanda
Esto funciona para mi. Para los permisos, agregué a fstab file_mode = 0770, dir_mode = 0770
Rui F Ribeiro
2

Tenga en cuenta que si monta su unidad ntfs usando una etiqueta y desea poder cambiar los permisos de directorios o archivos en esta unidad, lo siguiente funciona bien (edite / etc / fstab, por ejemplo, sudo nano / etc / fstab y luego agregue) :

LABEL=Portable_HD_2TB      /media/mintbox2/Portable_HD_2TB ntfs    permissions,defaults        0       2

Mientras que lo siguiente NO le permitiría cambiar los permisos de directorios o archivos:

LABEL=Portable_HD_2TB      /media/mintbox2/Portable_HD_2TB ntfs    defaults        0       2
CMP
fuente
1

Utilizo lo siguiente que encuentro correctamente me da permisos sobre el montaje (unidad NTFS desde una configuración de sistema de arranque dual):

Editar /etc/fstab:

Los UUID se pueden encontrar en /dev/disk/by-uuid/(generalmente se asignan a /dev/sd*)

Reemplace <your uuid>con su UUID

UUID=<your uuid> /mnt/e ntfs auto,users,uid=1000,gid=1000,dmask=027,fmask=137 0 0

Jonathan
fuente