Gerenciamento de permissões de arquivos

3

Eu gostaria de poder mover os arquivos baixados por transmissão no nome do meu usuário principal.

Eu adicionei este usuário ao grupo debian-transmission, mas isso não é suficiente, apenas o proprietário tem permissão de gravação nos arquivos baixados.

Então, vejo algumas possibilidades:

  • mudando o usuário da transmissão, mas isso não parece ser uma boa prática.
  • define uma opção na transmissão para permitir que ela grave um arquivo com permissões de gravação para o grupo, mas não sei se é possível.

Então, qual é o seu conselho para levar a uma boa solução?

    
por Gael 14.02.2016 / 02:49

3 respostas

8

A solução proposta pelo @sverker é boa, mas sugiro que você altere a configuração da transmissão para que altere a umask com a qual estão gravados os arquivos baixados. A configuração é armazenada em

  

~ / .config / transmission / settings.json

Encontre e altere o valor "umask". Note que o formato json usa notação decimal, então dê uma olhada na tabela e encontre um valor para o novo umask (ex: 22)

Umask   Created Files       Created Directories
-------------------------------------------------------------
000     666 (rw-rw-rw-)     777     (rwxrwxrwx)
002     664 (rw-rw-r--)     775     (rwxrwxr-x)
022     644 (rw-r--r--)     755     (rwxr-xr-x)
027     640 (rw-r-----)     750     (rwxr-x---)
077     600 (rw-------)     700     (rwx------)
277     400 (r--------)     500     (r-x------)

depois em um terminal:

#echo $((8#022)) 
18

Por fim, altere o valor de umask para 18

    
por LilloX 23.02.2016 / 14:35
1

A transmissão, pelo menos como um daemon, tem a opção de executar um script após a conclusão de um torrent. Você deve ser capaz de dizer este script para chmod para 664 após a conclusão. A partir daí, os arquivos devem estar acessíveis e graváveis pelo seu usuário principal. Você poderia criar um script que contenha estas linhas:

#!/usr/bin/env bash    
chmod -R 664 ${TR_TORRENT_DIR}
exit 0

Você então torna esse script executável e coloca-o em algum lugar onde o daemon de transmissão possa acessá-lo, como / usr / local / bin ou algo assim.

Em seguida, você diz ao daemon de transmissão para executar o script após a conclusão da torrent. Você pode fazer isso por GUI ou ter essa linha em seu arquivo /etc/transmission-daemon/settings.json :

"script-torrent-done-filename": "/usr/local/bin/your-script.sh", 

E isso deveria ser isso. O conceito do script-torrent-done é bastante poderoso, eu o uso para classificar torrents em filmes / música / etc de acordo com seu conteúdo, mas esse é um script bem mais longo:)

    
por sverker wahlin 18.02.2016 / 21:13
0

Você deve ler em ACL , ele permite que você adicione permissões adicionais, como adicionar permissões para seu usuário principal.

por exemplo, sudo setfacl -d -R u:gael:rw /home/transmission permite que seu usuário leia e grave nesse diretório. -d é padrão , o que significa que os arquivos criados nesse diretório terão essas novas permissões. Normalmente você usa -m ao invés de -d. Execute com -m para aplicar aos arquivos existentes.

Você pode criar um script para executar o comando setfacl na conclusão para garantir que todos os arquivos estejam corretos, como sugerido por Sverker;

    
por Sir_Scofferoff 18.02.2016 / 21:24