Montando uma pasta do Windows com permissões de escrita no Ubuntu

17

Aparentemente, a resposta está aqui: link , mas não está funcionando como esperado.

Eu tenho um sistema de inicialização dupla com o Windows 7 e o Ubuntu 13.04 (atualizado de 12.10), e quero acessar minhas pastas pessoais do Windows 7 para ler e escrever. Eu segui as instruções de acordo com o link fornecido e meu arquivo /etc/fstab tem esta aparência:

/dev/sda1 /media/windows ntfs ro,umask=0222,defaults 0 0
/media/windows/Users/MyUser/    /home/myuser/Windows    ntfs-3g rbind,user,umask=0222,defaults 0 0
/media/windows/Users/OtherUser/ /home/otheruser/Windows ntfs-3g rbind,user,umask=0222,defaults 0 0

Funciona quase como esperado. Minha partição do Windows está em /media/windows/ com permissões somente leitura e minha pasta pessoal do Windows está em ~/Windows . No entanto, esta pasta pessoal também é somente leitura.

Note que estou configurando isso em um ambiente multisessão, portanto, preciso que isso funcione para minha sessão e para as sessões de outros usuários. Eu preciso que cada usuário possa acessar e ser capaz de escrever e ler suas pastas do Windows a partir do Linux.

    
por Carlos Eugenio Thompson Pinzón 02.09.2013 / 19:27

8 respostas

7

A pergunta do super usuário linkado acima é para montar a partição e o subdiretório no modo somente leitura . Você precisa apenas que o subdiretório (pasta pessoal) seja lido / gravado.

Primeiro, verifique se seu sistema pode montar a partição ntfs no modo de leitura / gravação

mount -t ntfs-3g  -o rw /dev/sda1 /media/windows

Agora teste se o fs montado é gravável. Se não parar aqui e faça outra pergunta neste site.

O problema é que o subdiretório da partição montada RO não pode estar em RW. Então a solução é montar a partição windows no RW em um local oculto e inacessível. Então vamos montá-lo em / root / win que é inacessível por usuários não-root (sem sudo )

Como um usuário root , siga-o Passos
1. Montar a partição do Windows no RW

mount -t ntfs-3g -o rw /dev/sda1 /root/win  

2. Ligá-lo

mount --bind /root/win/Users/MyUser/  /home/myuser/Windows  

3. Vincular uma instância somente leitura da partição do Windows

mount --bind /root/win /media/windows  
mount -o remount,ro /media/windows

Agora tudo deve ficar bem. Além disso, você pode desmontar a partição do Windows, mas avisá-lo em algum sistema que fará com que o binded (@home) seja inacessível. O código é umount /root/win

Como alternativa, você pode montar a partição do Windows no RW em / media / windows (em vez de / root / win) e ligá-la imediatamente no mesmo ponto de montagem (/ media / windows) ninguém (mesmo root) pode escrever na partição (mas na pasta do usuário).

    
por totti 19.12.2013 / 09:12
5

Eu duvido que a resposta do superusuário vinculado seja útil. (Embora eu não possa tentar.) De man mount :

  

Observe que as opções de montagem do sistema de arquivos permanecerão as mesmas do ponto de montagem original e não poderão ser alteradas ao passar o -o                 opção junto com --bind / - rbind. As opções de montagem podem ser alteradas por um comando remount separado, por exemplo:

mount --bind olddir newdir
mount -o remount,ro newdir

Também duvido que seja possível --rbind uma parte de um sistema de arquivos com um driver de sistema de arquivos diferente (ntfs vs ntfs-3g).

Quando você rbind o comando mount ignora todas as opções, nada se torna leitura-gravação. E como o driver ntfs do kernel não suporta gravações, obviamente, a opção rw também não ajuda com isso. Use o driver ntfs-3g.

Basicamente, o que você deve fazer é isso (em um terminal):

mount -t ntfs-3g -o ro /dev/sda1 /media/windows
mount --bind /media/windows/Users/MyUser/    /home/myuser/Windows
mount -o remount,rw /home/myuser/Windows

(Eu acho que --rbind também é desnecessário, --bind deve ser suficiente.)

E em relação ao comentário sob a pergunta: Claro que você não precisa reiniciar o sistema para testes, apenas use o comando mount como eu fiz acima. (E desmonte com o comando umount ).

Depois de confirmar que isso funciona como previsto, basta modificar a montagem e adicionar as opções desejadas: uid, gid, umask, etc.

    
por falconer 15.12.2013 / 18:21
3

Veja se isso ajuda ...

Se sda1 já estiver montado em /media/windows , você poderá desmontá-lo com:

sudo umount /media/windows

Em seguida, crie o diretório windows em /media/ :

sudo mkdir /media/windows

Edite o /etc/fstab conforme abaixo:

/dev/sda1  /media/windows ntfs-3g  rw,nodev,noexec,auto,nouser,async,locale=en_US.utf8,uid=1000,gid=1000,umask=0002 0 0

/media/windows/Users/MyUser/  /home/myuser/Windows  ntfs-3g rbind,user,rw,nodev,noexec,auto,async,uid=1000,gid=1000,umask=0002 0 0

/media/windows/Users/OtherUser/  /home/otheruser/Windows  rbind,user,rw,nodev,noexec,auto,async,uid=1001,gid=1001,umask=0002 0 0

( Observação : altere os valores uid e gid para o usuário Para obter o uid e gid de um usuário, você pode usar o comando id -u username e id -g username resp.)

Agora você pode montá-los com o comando:

sudo mount -a

Agora vá para os diretórios revinculados e veja se você pode editar o arquivo. E você deveria estar feito.

    
por precise 15.12.2013 / 19:37
3

Faça todos os seus testes antes de editar seu arquivo de configuração do fstab.

Bem, você provavelmente sabe que o sistema de arquivos ntfs é montado automaticamente em somente leitura se filessystem estiver marcado como sujo. O que você precisa fazer primeiro antes de tentar qualquer uma das respostas é montar o disco nas janelas e executar o chkdsk antes de tentar montá-lo novamente.

Além disso, se a montagem em rw ainda falhar, tente montar com diferentes opções de tipo de montagem, como sudo mount -t ntfs ou sudo mount -t ntfs-3g

Uma vez que fs esteja montado em rw, você pode fazer o seguinte:

mount --bind /media/MOUNTPOINT/TARGETFOLDER /home/SHAREDDIRECTORY/ mount -o remount,ro /home/SHAREDDIRECTORY/

ou

sudo gksu nautilus ou sudo gksu dolphin para abrir um explorador com direitos su

    
por yilmi 19.12.2013 / 11:11
2

Por que não tentar montá-lo com o atributo read and write: rw ?

/ dev / sda1 / media / windows ntfs rw , umask = 0222, padrões 0 0

    
por user189541 02.09.2013 / 20:59
2

Eu não tenho certeza, no entanto, você pode tentar isso por favor. Depois que o inversor estiver montado, forneça o seguinte comando no terminal

sudo gksu nautilus

insira sua senha administrativa e, na janela gráfica aberta, você poderá clicar na unidade e alterar as permissões de leitura / gravação.

Deixe-me saber se isso funciona. Há ajuda disponível para uso do nautilus com interface gráfica com privilégios de root.

    
por KSR 17.12.2013 / 07:38
1

Eu recomendaria usar o sudo chmod.666 ~ / Windows

link

    
por user1553176 02.09.2013 / 20:09
0

A maneira mais fácil de montar o Windows como leitura-gravação é simplesmente reiniciá-lo ou fazer um desligamento completo. A partição NTFS hiberna quando o "desligamento rápido" é usado. Este princípio é coberto com mais detalhes em este link.

    
por matalak 04.04.2018 / 03:15