Linux cp Permissão negada no sistema de arquivos ntfs

0

Alguém poderia gentilmente explicar por que recebi esse erro de permissão negada? Eu, pessoalmente, sou usuário g e, como mostra ls, li e escrevo permissão para origem e destino. Meu sistema é slackware 14 , e o dispositivo que está sendo gravado é meu ereader, um ntfs-3g file system .

Eu tenho outros sistemas de arquivos ntfs, pen drives, HDDs externos, etc., aos quais posso gravar como usuário. Não há diferença perceptível na configuração de permissões para qualquer um deles. Sendo ntfs, todos eles são de propriedade da raiz da raiz do grupo. É somente com este ereader que eu tenho esse problema (embora eu possa escrever nele como root). Então eu acredito que o problema é específico para este dispositivo, mas eu não tenho idéia do que seja.

~ $ cp /home/g/MyBooks/Wyndham-TheMidwichCuckoos.txt /500gb/database/media/  
cp: cannot create regular file '/500gb/database/media/Wyndham-TheMidwichCuckoos.txt': Permission denied  
~ $ ls -l /home/g/MyBooks/Wyndham-TheMidwichCuckoos.txt                         
-rw-r--r-- 1 g users 380183 Aug 10 11:04 /home/g/MyBooks/Wyndham-TheMidwichCuckoos.txt  
~ $ ls -l /500gb/database/  
total 32  
drwxr-xr-x 2 root root 8192 Aug 10 11:23 cache/  
drwxr-xr-x 3 root root 8192 Aug  5 13:26 layout/  
drwxr-xr-x 2 root root 8192 Aug  9 14:07 media/  
drwxr-xr-x 2 root root 8192 Aug  5 17:28 sync/  
~ $

O ereader é fat32, eu supus que fosse ntfs,
 ~ $ mount
/ dev / sda3 on / tipo ext2 (rw)
proc on / proc tipo proc (rw)
sysfs on / sys tipo sysfs (rw)
/ dev / sda4 on / home tipo ext2 (rw)
tmpfs em / dev / shm tipo tmpfs (rw)
/ dev / sda1 on / winxp tipo fuseblk (rw, allow_other, blksize = 4096, default_permissions)
/ dev / sdb on / 500gb tipo vfat (rw)
/ dev / sdd1 on / 3tb tipo fuseblk (rw, allow_other, blksize = 4096)
~ $ cp /home/g/Meusuários/Wyndham-TheMidwichCuckoos.txt / 3tb
~ $ cp /home/g/Meusuários/Wyndham-TheMidwichCuckoos.txt / 500gb
cp: não é possível criar o arquivo regular '/500gb/Wyndham-TheMidwichCuckoos.txt': Permissão negada
~ $

Não consigo alterar as permissões neste ereader, nem como root nem como usuário
Como raiz, parece funcionar, mas nada muda. / home / g # chmod 777 -R / 500gb / banco de dados / home / g # ls -l / 500gb / banco de dados total 32
drwxr-xr-x 2 root root 8192 10 de agosto às 11:23 cache
drwxr-xr-x 3 raiz root 8192 5 de agosto 13:26 layout
drwxr-xr-x 2 root root 8192 Ago 9 14:07 mídia social | drwxr-xr-x 2 root root 8192 5 de agosto às 17:28 sync

Como usuário, o chmod é rejeitado.
~ $ chmod 777 -R / 500gb / banco de dados chmod: alterando permissões de '/ 500gb / database': Operação não permitida
chmod: alterando permissões de '/ 500gb / database / cache': Operação não permitida
chmod: alterando permissões de '/500gb/database/cache/cacheExt.xml': Operação não permitida
chmod: alterando permissões de '/500gb/database/cache/media.xml': Operação não permitida
chmod: alterando permissões de '/500gb/database/cache/cacheExtSchema_1.1.xsb': operação não permitida
chmod: alterando permissões de '/ 500gb / database / media': Operação não permitida
chmod: alterando permissões de '/500gb/database/media/Stevenson-TreasureIsland.txt': Operação não permitida
chmod: alterando permissões de '/500gb/database/media/Rendell-WolftotheSlaughter.txt': Operação não permitida

Este processo fez o truque para mim, graças a Miroslav Koskar
/ home / g # mount | grep sdb
/ home / g # mount / dev / sdb -o uid = 1000, gid = 100 / 500gb
/ home / g # mount | grep sdb
/ dev / sdb em / 500gb tipo vfat (rw, uid = 1000, gid = 100)
/ home / g # ls -l / 500gb / banco de dados total 32
drwxr-xr-x 2 g usuários 8192 10 de agosto às 11:23 cache
drwxr-xr-x 3 g usuários 8192 5 de agosto 13:26 layout
usuários de drwxr-xr-x 2 g 8192 10 de agosto 12:51 mídia
drwxr-xr-x 2 usuários g 8192 5 de agosto 17:28 sync
/ home / g #
~ $ cp /home/g/MyBooks/Wyndham-TheMidwichCuckoos.txt / 500gb / database / media
~ $

    
por user985675 10.08.2013 / 20:39

2 respostas

1

Parece-me que as permissões não estão definidas corretamente.

  1. você é usuário g e pode ler um arquivo = OK

  2. mas você não pode criar um arquivo em um destino porque o diretório media não pode ser gravado por você, somente root pode fazer isso

Portanto, copie como root ou altere as permissões no destino para que você tenha uma permissão de gravação no diretório media .

Como apontado, não é possível alterar as permissões nem a propriedade no sistema de arquivos NTFS montado. Nesse caso, existe a possibilidade de usar opções de montagem adequadas. Trecho abaixo de man mount

uid=value, gid=value and umask=value

Defina a permissão do arquivo no sistema de arquivos. O valor de umask é dado em octal. Por padrão, os arquivos são de propriedade de root e não podem ser lidos por outra pessoa.

Exemplo: (para /dev/sdc1 com o sistema de arquivos FAT32)

Verifique se o dispositivo não está montado (o seguinte deve retornar sem saída)

$ mount | grep sdc1

Monte o dispositivo com o conjunto de opções uid e gid

$ sudo mount /dev/sdc1 -o uid=1000,gid=1000 /mnt

Verifique o ponto de montagem

$ mount | grep sdc1

/dev/sdc1 on /mnt type vfat (rw,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
    
por 10.08.2013 / 21:09
0

O diretório media é de propriedade de root (com um grupo de root ) e é o modo 755, portanto, ele é gravável apenas por seu proprietário ( root ). Você está tentando criar um arquivo nesse diretório (você não está sobrescrevendo um arquivo existente, não é?), Que é tratado como uma modificação do diretório. E você não está executando como root . É provavelmente por isso que você não tem permissão.

O diretório chown the media para você mesmo (ou chmod para que você possa gravar nele) ou execute o cp sob su ou sudo .

    
por 10.08.2013 / 21:10