Montar partição NTFS na inicialização, com usuário não root como proprietário

21

Atualmente estou montando uma partição NTFS na inicialização usando a seguinte linha em / etc / fstab:

/dev/sda3        /media/data           ntfs      nls=iso8859-1,umask=000

Para minha instalação do Ubuntu 11.10, parece que todos os arquivos e pastas são de propriedade de root - e como o NTFS realmente não suporta o mesmo sistema de gerenciamento de direitos, não há como alterá-lo após a montagem completo. Não importa o que eu faça, ls -l em qualquer lugar na partição NTFS listará todos os arquivos e pastas de propriedade de root:root .

No entanto, isso causa alguns problemas para mim. Mais notavelmente, algumas aplicações em execução na minha conta (chamadas tomas ) reclamam dos direitos de acesso. Além disso, sempre que tento copiar ( cp ) ou mover ( mv ) arquivos de uma das minhas partições ext3 para a partição NTFS, recebo mensagens de erro dizendo

mv: preserving times for '[path to new file]': Operation not permitted

ou, similarmente

mv: preserving permissions for ...

Montaria a partição no meu nome em vez da ajuda root? Se sim, como faço isso no fstab?

Atualização:

Agora alterei as opções de acordo com as sugestões e cheguei a isso:

nls=iso8859-1,permissions,users,umask=000,uid=tomas,gid=tomas

ls -l agora mostra todos os arquivos de minha propriedade em vez de root, e parece que alguns dos problemas que tive antes foram resolvidos. No entanto, nem todos eles.

Quando inicio o Eclipse, recebo um erro que um arquivo relacionado ao android-sdk não pode ser executado: Permissão negada. ls -l diz o seguinte sobre o arquivo:

-rwxrwxrwx 1 tomas tomas 159620 2011-11-29 14:50 adb*

Isso parece do jeito que eu quero. Mas, se eu tentar executá-lo ( ./adb em um terminal), também receberei erros de permissão negada. Mas se eu executar com sudo , funciona (eu acredito - pelo menos não me dá uma mensagem de erro, mas não me dá nenhuma saída, o que eu acho que não deveria ... )

Por que o arquivo acima, com permissões de execução para qualquer pessoa , ainda não é executável por ninguém além de root ? Como faço para mudar a maneira de montar o sistema de arquivos?

Atualização 2:

OK, eu agora cheguei um pouco mais longe. Ao montar com essas opções

nls=iso8859-1,permissions,users,auto

Eu tenho todas as permissões definidas da maneira que eu esperava, e chown e chmod realmente alteram as configurações nos arquivos (pelo menos de acordo com ls -l ) = D

Mas meu sistema ainda se comporta de uma maneira estranha. As permissões para o arquivo de script adb aparecem como acima, mas nem eu nem o Eclipse podem executá-lo sem erros de "Permissão negada". Mas, tanto quanto eu posso ver o arquivo tem todos os sinalizadores necessários definidos ( o=rwx deve ser o suficiente, certo?). Por que isso não funciona?

Atualização 3

OK, eu tenho tudo funcionando no lado do Ubuntu, com as seguintes opções:

nls=iso8859-1,permissions,users,auto,exec

No entanto, quando tento acessar arquivos na partição do Windows, as configurações de segurança estão todas confusas. Em todos os arquivos (dos poucos que eu examinei), uma nova conta chamada Account Unknown(long GUID) foi adicionada à lista de usuários e tem todos os direitos. Os direitos da maioria dos outros usuários são reduzidos para que eu não tenha direitos para fazer as coisas que espero. Notavelmente, "Everyone" não parece mais ter o direito de "Atravessar pasta / executar".

Isso pode ser solucionável apenas selecionando a partição e permitindo que Todos façam qualquer coisa na pasta raiz, e então diga para fazer isso de forma recursiva, mas prefiro não como temo vai levar dias para completar ...

    
por Tomas Lycken 04.01.2012 / 22:50

4 respostas

24

Na coluna de opções, adicione permissions e auto (e provavelmente user ou users )

nls=iso8859-1,permissions,users,auto
  • permissions : (opção NTFS-3G) Defina as permissões padrão nos arquivos criados e use o controle de acesso padrão.
  • auto : será montado na inicialização e a partir de mount -a
  • user : permite que um usuário comum monte o sistema de arquivos
  • users : Permitir que todo usuário monte e desmonte o sistema de arquivos

Em seguida, altere a propriedade do sistema de arquivos:

sudo chown -R thomas:thomas /media/data 

Minha linha em /etc/fstab

/dev/sda5 /media/ntfs ntfs-3g users,permissions,auto 0 0

Montar e listar permissões

sudo mount /media/ntfs
Using default user mapping

bodhi@ufbt:~$ ls -l /media

drwxr-xr-x 1 root root 4096 2012-01-04 17:08 ntfs

Altere a propriedade e liste as novas permissões

bodhi@ufbt:~$ sudo chown bodhi:bodhi /media/ntfs

bodhi@ufbt:~$ ls -l /media

drwxr-xr-x 1 bodhi bodhi 4096 2012-01-04 17:10 ntfs

Por padrão, o ntfs-3g monta a partição noexec, nosuid e nodev.

  • noexec : Não permite a execução direta de quaisquer binários no sistema de arquivos montado.
  • nosuid : Não permita que o identificador de usuário definido ou os bits do identificador de grupo definido entrem em vigor.
  • nodev : Não interpretar caracteres ou bloquear dispositivos especiais no sistema de arquivos.

Para substituir isso e permitir a execução de arquivos, use exec

/dev/sda5 /media/ntfs ntfs-3g exec,permissions,auto 0 0

Agora chegamos

bodhi@ufbt:~$ ls -l /media/ntfs

-rwx------ 1 bodhi bodhi 28 2012-01-04 17:16 file

bodhi@ufbt:~$ /media/ntfs/file
It works
    
por Panther 04.01.2012 / 22:54
2

Use as opções uid e gid (ou use o recurso de mapeamento de usuário) de mount.ntfs (8)

    
por tumbleweed 04.01.2012 / 23:26
2

A minha funciona agora perfeitamente quando mudo a linha do fstab para

UUID=761C84B31C846FC3 /media/d        ntfs    defaults,umask=022,uid=1000 0       0
    
por e01 22.06.2012 / 10:06
1

Que tal usar udisks ? Ele pode facilmente montar partições NTFS com seu usuário como proprietário.

Exemplo (digite-o na linha de comando):

/usr/bin/udisks --mount /dev/sda3

Você também pode adicionar esse comando aos aplicativos de inicialização e ele será montado automaticamente quando você fizer o login.

Referência: AutomaticMountPartitions

    
por amfcosta 01.05.2012 / 03:16