Como montar corretamente uma partição NTFS em / etc / fstab?

56

Depois de um episódio desagradável (meu segundo, você acha que eu aprendi) causado por downloads automatizados de podcasts não supervisionados preenchendo minha partição inteira, eu finalmente movi apenas ~/Music para sua própria partição. A partição que eu estou usando já estava formatada em NTFS (essa é a parte genial: quando eu peguei este computador três anos atrás, eu configurei com uma partição de música de 20G precisamente porque eu tive esse problema antes, mas eu nunca realmente Eu me organizei para armazenar música nele. Então essa é a minha história de fundo. Aqui está o que eu preciso agora:

Eu tenho duas partições que quero começar a montar na inicialização:

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

A partição ext4 é bem montada (possuída por mim, gravável somente por mim), mas as montagens ntfs de propriedade do root possuem permissão de leitura e gravação para todos. Não sei como consertar isso. Existe algo peculiar sobre NTFS ou eu fiz algo em outro lugar que está causando esse 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
    
por Amanda 17.03.2012 / 14:52

7 respostas

73

As permissões para os sistemas de arquivos ntfs e vfat devem ser definidas com as opções dmask , fmask e umask . dmask controla permissões para diretórios, fmask controla permissões para arquivos e umask controla ambos. Como essas opções configuram máscaras , elas devem ser o complemento das permissões desejadas. Por exemplo, rwx para o proprietário e rx para outros é 022 em vez de 755.

Para definir o proprietário, use as opções uid e gid para usuário e grupo, respectivamente. Você pode encontrar seu UID com o comando id -u . Para encontrar seu GID, use id -g . Esses valores são ambos geralmente 1000.

Um conjunto comum de opções de montagem para o ntfs é uid=1000,gid=1000,dmask=027,fmask=137 . Isso define você como o proprietário da unidade e define as permissões para drwxr-x--- .

Aqui estão duas linhas do meu / etc / fstab funcionando

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

Se você não obtiver nenhum erro visível após a reinicialização e as partições permanecerem somente lidas ou você receber um erro semelhante 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

Isso ocorre porque o Windows 8 e o 10 oferecem uma opção de "inicialização rápida" que depende de um desligamento "não completo". Você pode desativar a inicialização rápida seguindo estas etapas em "Opções de energia ".

    
por bessman 17.03.2012 / 15:31
30

Se você montar a partição ntfs com a opção de permissões, o chmod / chown funcionará

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

Você pode então

sudo chown your_user:your_user /mnt/excess

Mais fácil do que uid, dmask, fmask.

    
por Panther 17.03.2012 / 16:24
7

Eu tive alguns problemas com isso porque quando eu reiniciei o nome do disco muda ... ( sda0 para sdb2 )

Eu consertei o problema montando-os pelo UUID no fstab, você pode ver o UUID para seus discos rígidos digitando: sudo blkid

Faça um back-up do seu arquivo fstab:

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

Certifique-se de tripple verificar o > & gt ;, se você colocar um > você sobrescreve seu fstab!

sudo blkid >> /etc/fstab

Se você ainda errou, pode substituir seu fstab pelo original:

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

Em seguida, faça uma pasta:

sudo mkdir /media/mydrivename

Configure o fstab:

sudo vim /etc/fstab

Não se esqueça de comentar a saída do blkid com um '#' no começo das linhas!

Adicione isto ao arquivo fstab, você pode encontrar o UUID no bloco na parte inferior que você inseriu com o comando acima. media / mydrivename é onde a partição deve ser montada.

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

Este é o meu arquivo 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" 

Reinicialize o sistema digitando:

sudo reboot

Para verificar se a partição está montada, você pode digitar df -k .

Conceder a você mesmo:

sudo chown -R USERNAME:USERNAME /media/mydrivename

Fiz isso no Ubuntu Server 14.04.01 !

Espero que esta resposta ajude alguém; -)

    
por rotgers 19.10.2014 / 13:26
4

Pode não ser uma boa solução, mas você pode mapear o ID do usuário para o seu, ou o ID do grupo:

Apenas um exemplo aqui, meu ID de usuário era 1000

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

Nesse caso, todos os arquivos montados pertencentes ao usuário identificaram 1000

    
por daisy 17.03.2012 / 14:57
4

Você pode usar o utilitário de GUI ntfs-config para montar partições NTFS no fstab. E pode facilmente ativar / desativar os recursos de leitura e gravação.

Guiamaisdetalhado: Montando partições do Windows no Ubuntu na inicialização

    
por Gayan Weerakutti 15.01.2015 / 08:54
1

Note que se você montar sua unidade ntfs usando um rótulo e desejar poder alterar as permissões de diretórios ou arquivos nesta unidade, o seguinte funciona bem ( edite o arquivo / etc / fstab, por exemplo, sudo nano / etc / fstab e adicione:

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

Considerando que o seguinte NÃO permite alterar permissões de diretórios ou arquivos:

LABEL=Portable_HD_2TB      /media/mintbox2/Portable_HD_2TB ntfs    defaults        0       2
    
por CMP 03.08.2015 / 05:19
1

Eu uso o seguinte que acho corretamente me dá permissões após a montagem (unidade NTFS de uma configuração de sistema de inicialização dupla):

Edite o /etc/fstab :

UUIDs podem ser encontrados em /dev/disk/by-uuid/ (geralmente mapeiam para /dev/sd* )

Substitua <your uuid> pelo seu UUID

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

    
por Jonathan 24.03.2018 / 18:25