Como alterar as permissões padrão dos arquivos criados pelo daemon de transmissão?


24

Eu tenho uma máquina executando o servidor Ubuntu 12.04 com o daemon de transmissão em execução para lidar com bitorrents. Tudo funciona bem, exceto o daemon de transmissão cria arquivos como usuário / grupo debian-transmissione com 744 permissões de arquivo.

  • Eu gostaria de poder excluir e mover esses arquivos de um compartilhamento de samba.

  • Eu considerei mudar o grupo principal do usuário debian-transmission, mas estava preocupado que pudesse atrapalhar o acesso a outros arquivos.

  • Eu pensei que seria melhor mudar a permissão padrão de novos arquivos criados pelo debian-broadcast para 774 e me adicionar ao grupo debian-broadcast.

    Eu sei que isso pode ser feito com umask, mas meu entendimento é que isso seria definido no arquivo .profile e como o debian-transmission não possui uma pasta inicial, não tenho certeza se esse arquivo existia para o usuário. Então, como eu faço isso?

    Sugestões ou soluções alternativas são bem-vindas. Desde já, obrigado.


Fiz isso no Crystalubuntu, agora recebo um erro ao iniciar a transmissão - "não é possível definir o gid como 113 (operação não permitida)". Qualquer ideia?

Eu terminei com a seguinte entrada crontab <pre> #! / Bin / sh trap "" 1 arquivo de log = / dev / null exec> $ arquivo de log 2> & 1 set -x while true; fazer a = "$ (inotifywait -q -r -e mover -e criar -e excluir / dados / downloads concluídos / Filmes - formato% w% f)" chown -R ninguém: ninguém "$ a" fez </pre>

Respostas:


45

Você pode especificar uma umask no arquivo de configuração da transmissão ( /etc/transmission-daemon/settings.json). Umask que normalmente representamos em octal, mas infelizmente o json não suporta isso, então temos que convertê-lo para a base 10. Você pode fazer isso no shell assim:

$ echo $(( 8#022 ))
18

Esse é o padrão, mas você provavelmente deseja 002, que é o mesmo em decimal, então

sudo editor /etc/transmission-daemon/settings.json
# change "umask": 18 to "umask": 2 and save
sudo reload transmission-daemon # tells transmission-daemon to re-read the config 
                                # file. This is important, otherwise, the changes
                                # will be lost

Outra coisa. Se você alterar a propriedade do grupo do diretório de download e adicionar o bit setgid, todos os arquivos criados nesse diretório terão a mesma propriedade do grupo.

sudo chgrp "$USER" /path/to/transmission/download/dir
sudo chmod g+s /path/to/transmission/download/dir

Isso não afetará os arquivos que já existem. Veja http://mywiki.wooledge.org/Permissions para mais informações.


Exatamente o que eu precisava. Obrigado por incluir as informações do bit setgid, eu esqueci esses bits extras.
— jpetersen

Eu acho que estou fazendo algo errado. Eu quero definir permissões como chmod 775, então tentei com o comando echo $ ((8 # 775)) e obtive 509, mas parece que isso acabou de quebrar o daemon de transmissão, pois não fará mais downloads de arquivos torrent.
— Fran Marzoa

3
@Fran Se você definir o umask como 0775, os arquivos obterão o modo 002; A máscara especifica quais bits NÃO devem ser definidos em novos arquivos. Você quer que a umask padrão (002) aqui, de modo que os arquivos são criados com o modo de 664, e diretórios com o modo 775.
— geirha

Oh! Eu já percebi que tenho que colocar 002, mas não sabia o porquê! Agradecemos um milhão pelo esclarecimento! :)
— Fran Marzoa

Era o chmod g+sque eu estava perdendo. Obrigado!
— Flith

0

Tente o seguinte:

mkdir /your_path/progress
mkdir /your_path/completed
sudo usermod -a -G debian-transmission your_user
chgrp debian-transmission /your_path/progress
chgrp debian-transmission /your_path/completed
chmod 770 /your_path/progress
chmod 770 /your_path/completed
sudo service transmission-daemon stop
sudo adduser your_user debian-transmission
sudo nano /etc/init.d/transmission-daemon
sudo chown your_user -R /var/lib/transmission-daemon/info/
sudo chown your_user -R /your_path/progress
sudo chown your_user -R /your_path/completed
sudo chown your_user -R /etc/transmission-daemon/settings.json

E mude no arquivo: sudo nano /etc/transmission-daemon/settings.json

"rpc-whitelist": "127.0.0.1" > "rpc-whitelist": "*.*.*.*",
"rpc-password": "password" > "rpc-password": "your_password",
"download-dir": "/var/lib/transmission-daemon/downloads" > "download-dir": "/your_path/completed"
"incomplete-dir": "/var/lib/transmission-daemon/downloads" > "incomplete-dir": "/your_path/progress"

Basta reiniciar o daemon:

service transmission-daemon start
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.