Comment changer les permissions par défaut des fichiers créés par transmission-daemon?

25

J'ai une machine exécutant un serveur Ubuntu 12.04 avec un démon de transmission fonctionnant pour gérer les bitorrents. Tout fonctionne bien, sauf que le démon de transmission crée des fichiers en tant qu'utilisateur / groupe debian-transmission, et avec 744 autorisations de fichier.

  • Je voudrais pouvoir supprimer et déplacer ces fichiers d'un partage samba.

  • J'ai envisagé de changer le groupe principal de l'utilisateur debian-transmission, mais je craignais que cela ne gâche l'accès à d'autres fichiers.

  • J'ai pensé qu'il serait préférable de changer l'autorisation par défaut des nouveaux fichiers créés par debian-transmission en 774, et de m'ajouter au groupe debian-transmission.

    Je sais que cela peut être fait avec un umask, mais ma compréhension est que cela serait défini dans le fichier .profile et comme debian-transmission n'a pas de dossier de départ, je ne sais pas si ce fichier existait pour l'utilisateur. Alors, comment puis-je accomplir cela?

    Les suggestions ou solutions alternatives sont les bienvenues. Merci d'avance.

jpetersen
la source
A fait cela sur Crystalubuntu, maintenant j'obtiens une erreur lors du démarrage de la transmission - "impossible de définir le gid sur 113 (opération non autorisée)". Une idée?
J'ai fini par suivre comme entrée crontab <pre> #! / Bin / sh trap "" 1 logfile = / dev / null exec> $ logfile 2> & 1 set -x while true; do a = "$ (inotifywait -q -r -e move -e create -e delete / data / completedownloads / Movies --format% w% f)" chown -R nobody: personne "$ a" done </pre>

Réponses:

46

Vous pouvez spécifier un umask dans le fichier de configuration de la transmission ( /etc/transmission-daemon/settings.json). Umask que nous représentons normalement en octal, mais malheureusement, json ne le prend pas en charge, nous devons donc le convertir en base 10. Vous pouvez le faire dans le shell comme ceci:

$ echo $(( 8#022 ))
18

C'est la valeur par défaut, mais vous voulez probablement 002, qui est le même en décimal, donc

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

Autre chose. Si vous modifiez la propriété du groupe du répertoire de téléchargement et y ajoutez le bit setgid, tous les fichiers créés dans ce répertoire auront la même propriété de groupe que ce répertoire.

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

Cela n'affectera pas les fichiers qui existent déjà. Voir http://mywiki.wooledge.org/Permissions pour en savoir plus.

geirha
la source
Exactement ce dont j'avais besoin. Merci d'avoir inclus les informations de bit setgid, j'ai oublié ces bits supplémentaires.
jpetersen
Je pense que je fais quelque chose de mal. Je veux définir les autorisations comme chmod 775, j'ai donc essayé avec cette commande echo $ ((8 # 775)) et j'ai obtenu 509, mais il semble que cela vient de briser le démon de transmission car il ne téléchargera plus de fichiers torrent.
Fran Marzoa
3
@Fran Si vous définissez l'umask sur 0775, les fichiers obtiendront le mode 002; Le masque spécifie quels bits NE PAS définir sur les nouveaux fichiers. Vous voulez le umask par défaut (002) ici, pour que les fichiers soient créés avec le mode 664, et les répertoires avec le mode 775.
geirha
Oh! J'ai déjà réalisé que je devais mettre 002, mais je ne savais pas pourquoi! Merci un million pour la clarification! :)
Fran Marzoa
C'était le chmod g+squi me manquait. Merci!
2017
0

Essaye ça:

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

Et changez le fichier: 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"

Redémarrez simplement le démon:

service transmission-daemon start
Costales
la source