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.

reitor
fonte

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.

John T
fonte
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.

nerd
fonte
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
charlatão quixote
fonte
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.

jneves
fonte
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.

user39559
fonte
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!

Tamara Wijsman
fonte
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

lauhub
fonte
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.

Angelo Dureghello
fonte
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

intika
fonte