Atualmente, estou montando uma partição NTFS na inicialização usando a seguinte linha no / etc / fstab:
/dev/sda3 /media/data ntfs nls=iso8859-1,umask=000
Na minha instalação do Ubuntu 11.10, parece que todos os arquivos e pastas pertencem a root
- e como o NTFS não suporta o mesmo sistema de gerenciamento de direitos, não há como alterá-lo após a conclusão da montagem. Não importa o que eu faça, ls -l
em qualquer lugar da partição NTFS listará todos os arquivos e pastas pertencentes a root:root
.
No entanto, isso causa alguns problemas para mim. Mais notavelmente, alguns aplicativos em execução na minha conta (chamados tomas
) reclamam de 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, da mesma forma
mv: preserving permissions for ...
Montar a partição em meu nome em vez de ajudar com a raiz? Se sim, como faço isso no fstab?
Atualizar:
Eu mudei 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 pertencentes a mim em vez de root, e parece que alguns dos problemas que eu tinha antes foram resolvidos. No entanto, nem todos eles.
Quando inicio o Eclipse, recebo um erro de que um arquivo relacionado ao android-sdk não pode ser executado: Permissão negada. ls -l
me diz o seguinte sobre o arquivo:
-rwxrwxrwx 1 tomas tomas 159620 2011-11-29 14:50 adb*
É assim que eu quero. Mas se eu tentar executá-lo ( ./adb
em um terminal), também recebo erros de permissão negada. Mas se eu executá-lo sudo
, ele funciona (acredito - pelo menos, não me dá uma mensagem de erro, mas não me dá nenhuma saída, o que 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 mais ninguém root
? Como altero a maneira como monto o sistema de arquivos para que ele seja?
Atualização 2:
OK, agora cheguei um pouco mais longe. Montando com estas opções
nls=iso8859-1,permissions,users,auto
Eu tenho todas as permissões definidas da maneira que eu esperava chown
e, chmod
na verdade, altero as configurações dos arquivos (pelo menos de acordo com ls -l
) = D
MAS meu sistema ainda se comporta de uma maneira estranha. As permissões para o adb
arquivo de script aparecem como acima, mas nem eu nem o Eclipse podemos executá-lo sem erros de "Permissão negada". Mas, tanto quanto posso ver, o arquivo tem todos os sinalizadores necessários configurados ( o=rwx
deve ser o suficiente, certo?). Por que isso não funciona?
Atualização 3
OK, consegui 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 desarrumadas. Em todos os arquivos (dos poucos que examinei), uma nova conta chamada Account Unknown(long GUID)
foi adicionada à lista de usuários e possui todos os direitos. Os direitos da maioria dos outros usuários são reduzidos, de modo que não tenho direitos para fazer as coisas que espero. Notavelmente "Todos" não parecem mais ter o direito de "Atravessar pasta / executar".
Isso pode ser solucionado, basta selecionar a partição e permitir que todos façam qualquer coisa na pasta raiz e, em seguida, diga para fazê-lo recursivamente, mas prefiro não, pois temo que demore alguns dias para concluir ...
fonte
users Allow every user to mount and unmount the filesystem. This option implies the options noexec, ... unless overridden by subsequent options, as in the option line users,exec,dev,suid)
. Portanto, adicioneexec
suas opções e acredito que o problema de permissão negada para execução deve ser resolvido.Respostas:
Na coluna de opções, adicione
permissions
eauto
(e provavelmenteuser
ouusers
)permissions
: (Opção NTFS-3G) Defina permissões padrão nos arquivos criados e use o controle de acesso padrão.auto
: Será montado na inicialização emount -a
user
: Permitir que um usuário comum monte o sistema de arquivosusers
: Permitir que todos os usuários montem e desmonte o sistema de arquivosEm seguida, altere a propriedade do sistema de arquivos:
Minha linha
/etc/fstab
Permissões de montagem e lista
Alterar propriedade e listar novas permissões
Por padrão, o ntfs-3g monta a partição noexec, nosuid e nodev.
noexec
: Não permita a execução direta de nenhum binário no sistema de arquivos montado.nosuid
: Não permita que os bits set-user-identifier ou set-group-identifier entrem em vigor.nodev
: Não interprete caracteres ou bloqueie dispositivos especiais no sistema de arquivos.Para substituir isso e permitir a execução de arquivos, use
exec
Agora temos
fonte
nls=iso8859-1,permissions,users,umask=000
:) e reiniciar agora posso mover e copiar arquivos sem mensagens de erro. Todos os arquivos ainda aparecem como pertencentes aroot:root
, mesmo depoissudo chown -R tomas:tomas /media/data
. Por enquanto, não parece ser um problema, mas por curiosidade: por que isso?umask=000
umask=000
é equivalente achmod 777
- umask define todos os sinalizadores que você não deseja definir nos arquivos. Concordo que é contra-intuitivo, mas está tudo aqui: ubuntuforums.org/showpost.php?p=9092899&postcount=4Use as opções
uid
egid
(ou use o recurso de mapeamento do usuário) do mount.ntfs (8)fonte
uid
egid
funcionam, mas agora as permissões são suportadas no NTFS-3G, e essas opções substituem apermissions
opção. Veja: b.andre.pagesperso-orange.fr/permissions.htmlnls=iso8859-1,permissions,users
desmontar e montar novamente a partição.root:root
e o Eclipse reclama de permissões.O meu funciona agora perfeitamente quando altero a linha do fstab para
fonte
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):
Você também pode adicionar esse comando aos aplicativos de inicialização e ele será montado automaticamente quando você efetuar login.
Referência: AutomaticallyMountPartitions
fonte