permissão de leitura e gravação para partição FAT32 no Ubuntu


16

Este é um problema estranho. Eu tenho a seguinte tabela de partição

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      102400    7  HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2              13        5737    45978624    7  HPFS/NTFS
/dev/sda3            5738       10600    39062047+  83  Linux
/dev/sda4           10601       19457    71143852+   5  Extended
/dev/sda5           10601       11208     4883728+  82  Linux swap / Solaris
/dev/sda6           11209       15033    30720000    b  W95 FAT32
/dev/sda7           15033       19457    35537920    7  HPFS/NTFS

Eu botei o Win7 (sda2) e o Ubuntu (sda3) e queria usar a partição FAT32 para compartilhar arquivos em dois sistemas operacionais.

Segui alguns tutoriais online e fiz o seguinte:

sudo mkdir /media/FAT32
sudo chmod 777 /media/FAT32
sudo mount /dev/sda6/ /media/FAT32

depois que montei o arquivo, só consigo ler, mas não consigo gravar nele.

Eu verifiquei a permissão do arquivo, ela se torna:

drwxr-xr-x

mas depois que eu desmontei, ele se torna

drwxrwxrwx

e eu posso ler e escrever nele.

Não sei onde errei.

Respostas:


18

Tente montar com rw e especifique o tipo:

mount -t vfat /dev/sda6 /media/FAT32 -o rw,uid=xxx,gid=xxx

onde uid e gid são os da sua conta de usuário.


O umask tem efeito ao criar novos arquivos.
— nerd

usere autosão opções para a fstabentrada; eles não são muito úteis na linha de comando.
— quack quixote

Sim, acabei de traduzir uma das minhas entradas do fstab para uma linha de comando. Deixou alguns bits que não são úteis, mas também não são exatamente prejudiciais.
— John T

2
sudo mount -t vfat /dev/sda6 /media/FAT32 -o rw,uid=$(id -u),gid=$(id -g)
— Chefarov

1

Para sistemas de arquivos FAT, a disponibilidade de leitura / gravação é governada pelas opções de montagem.

Consulte a página de manual para montagem e leia sobre as opções de montagem uid e gid para o FAT.


1

Você já tentou gravar nos arquivos com um sudocomando? Isso deve funcionar com sua configuração atual.

Para que as gravações de arquivo para o usuário normal funcionem, você precisa usar as opções uide gidpara mount, para definir o proprietário dos arquivos na partição para o seu ID do usuário atual. Você provavelmente também querem tanto umaskou dmaske fmaskopções.

Seu mountcomando ficaria assim:

sudo mount -t vfat /dev/sda6 /media/FAT32 -o uid=1000,gid=1000,umask=022
# assuming your user's UID is 1000, GID is 1000
# umask=022 sets permission mode 755 for all files on the partition

1

Você tem a ordem errada nos comandos que deseja:

sudo mkdir /media/FAT32
sudo mount /dev/sda6 /media/FAT32
sudo chmod 777 /media/FAT32

O que está acontecendo é que / media / FAT32 representa diretórios diferentes antes e depois da montagem. Antes é o diretório que você criou e o qual você modificou o 777. Depois, é o diretório raiz do sistema de arquivos em / dev / sda6.


1

Se você simplesmente esquecer a linha de comando e montar com o Nautilus, ela deve ser definida como você deseja.

No terminal, as permissões da pasta antes da montagem não importam. São as opções de montagem que contam. Experimentar:

mount -t vfat /dev/sda6 /media/FAT32 -o rw,uid=xxx,gid=xxx,umask=133,dmask=022

Isso definirá arquivos rw-r--r--e pastas para rwxr-xr-x.

Se você quiser outro usuário / grupo e permissões, por exemplo, copiar arquivos do fat32 para a partição ext4 com os atributos desejados, consulte melhor a página de mountmanual. Aproximadamente você coloca umasko oposto do que vestiria chmod.


0

Às vezes, perdi o disco do Windows no Linux e resolvi usando mount com "-o force", como neste exemplo:

sudo mount -t ntfs-3g /dev/sda1 /media/win -o force

No seu caso, sendo FAT32, você deve ler sobre, mas minha dica é esta ajuda. Enfim, tente por sua conta e risco!


0

Eu tive exatamente o mesmo problema e a única coisa que realmente funcionou é:

sudo mount -t vfat  /dev/sda6 /media/FAT32 -o rw,umask=0000

Veja também essa resposta


Eu fiz isso, a chave usb está ainda protegido contra gravação
— Eildosa

Você tentou chmod 777 /media/FAT32?
— Lauhub 6/01/15

1
por alguma razão a remoção", umask = 0000" trabalhou
— Eildosa

0

Sem montagem manual, uma linha fstab faz o truque,

UUID = 1DD9-0D44 / media / exthd / TERABYTE_G vfat rw, noatime, uid = 1000, gid = 1000, usuário 0 0

(uid, gid são do seu usuário, / media / exthd / TERABYTE_G deve ser pré-criado)

mas observe que mount -a parece não estar sendo aplicado corretamente para testar a nova linha fstab, portanto, uma reinicialização completa ajuda.


0

Reparo / verificação muito importante do disco no Windows antes de usá-lo no Linux, por padrão, os drivers fat / ntfs desativam a gravação se encontrarem erros no disco

chkdsk d: /f 

Então

sudo mount -t vfat /dev/sdc1 /media/FAT32 -o rw,uid=$(id -u),gid=$(id -g)

como indicado antes

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.