Autorisation refusée lors du téléchargement avec le démon de transmission

24

J'ai installé xubuntu et le démon de transmission, défini le chemin de téléchargement vers mes émissions personnelles / utilisateur / TV et obtenu une autorisation refusée lorsque j'essaie de télécharger des torrents via la transmission.

J'ai essayé chmod -r 777ce dossier sans succès.

s'il vous plaît, aidez!

sortie de ps -ef | transmission grep

chen@htpc:~$ ps -ef | grep transmission
109       1023     1  1 21:46 ?        00:00:35 /usr/bin/transmission-daemon --config-dir /var/lib/transmission-daemon/info

chen@htpc:~$ ps aux | grep transmission
109       1023  3.2  0.4  47684 16620 ?        Ssl  21:46   1:20     /usr/bin/transmission-daemon --config-dir /var/lib/transmission-daemon/info
chen      1852  0.0  0.0   4200   772 pts/0    S+   22:27   0:00 grep --color=auto transmission

enter code here
Chen Kinnrot
la source
Pouvez-vous ajouter la sortie de ps -ef | grep transmissionà la question. Je ne pense pas que le démon de transmission ait le droit d'écrire dans les répertoires personnels par défaut.
mikewimporte
Je l'ai ajouté, comment ajouter des autorisations à cet utilisateur?
Chen Kinnrot
Eh bien, je cherchais le nom de l'utilisateur sous lequel il s'exécute, mais il n'est pas affiché. Essayez ps aux | grep transmissionplutôt.
mikewimporte
Hm ..., il ressemble à son nom d'utilisateur, il 109 - un peu étrange.
quel que soit
C'est vraiment bizarre, mais ça devrait être en dessous debian-transmission, je ne sais pas pourquoi ça montre un nombre stupide. Vous pouvez le vérifier avec id debian-transmission.
mikewimporte

Réponses:

47

En supposant que le chemin d'accès au dossier de téléchargement est /home/chen/TV shows, exécutez ce qui suit:

  • ajouter chen au groupe debian-transmission

    sudo usermod -a -G debian-transmission chen
    
  • changer la propriété du dossier

    sudo chgrp debian-transmission /home/chen/TV\ shows
    
  • accorder un accès en écriture au groupe

    sudo chmod 770 /home/chen/TV\ shows
    
  • Arrêtez le démon avec

    sudo service transmission-daemon stop
    
  • La dernière chose à faire est de modifier le masque de création de fichiers, afin que les fichiers téléchargés soient accessibles en écriture par chen.

    sudo nano /etc/transmission-daemon/settings.json
    

    … Et changez "umask": 18pour "umask": 2. Appuyez sur Ctrl+ Opour enregistrer et Ctrl+ Xpour quitter.

Démarrez le démon avec

sudo service transmission-daemon start
mikewthing
la source
Dans le cas où quelqu'un essaie d' cdentrer dans son répertoire juste après avoir fait cela et recevoir une autorisation refusée, déconnectez-vous et reconnectez-vous à nouveau. Ma session SSH n'avait pas les bonnes autorisations pour accéder au dossier après que la propriété du dossier a été donnée au debian-tranmissiongroupe (puisque mon utilisateur n'a pas été ajouté à ce groupe jusqu'à la prochaine connexion)
matrixanomaly
Cela fonctionne jusqu'à ce que je doive créer un nouveau dossier (par exemple, les fichiers du torrent sont imbriqués). Ensuite, je reçois une autre autorisation refusée.
GDorn
@GDorn Cela ne devrait pas être le cas. "umask": 2se traduit par des autorisations de 774, ou rwxrwxr--, ce qui signifie un accès fou pour le propriétaire et le groupe.
mikewimporte
Réponse utile, mais je peux peut-être suggérer une modification de la réponse: j'ai eu des problèmes avec /var/lib/transmission-daemon/.config/transmission-demon/torrents. Ce répertoire n'avait pas d'autorisation d'écriture. Les changer ont tous déclaré fonctionner.
LPs
6

Il s'agit d'un problème d'autorisation basé sur l'ID utilisateur qui exécute la transmission. La transmission configure un utilisateur par défaut auquel vous ne vous attendez pas lors de la première installation. Le nom d'utilisateur est debian-transmission.

Je vais vous expliquer comment changer cela:

  1. Arrêtez le démon de transmission sudo service transmission-daemon stop
  2. Ouvrez le fichier de configuration de transmission pour le modifier: sudo nano /etc/init.d/transmission-daemon
  3. Recherchez la ligne qui dit USER=debian-transmissionet remplacez-la par l'utilisateur propriétaire du dossier en question. Si vous n'êtes pas préoccupé par les problèmes de sécurité, vous pouvez également l'utiliser USER=rootdans ce fichier. (Non conseillé, mais bon pour le dépannage).
  4. Alternativement (au lieu du point numéro 3), modifiez le dossier / etc / fstab pour monter le dossier avec les autorisations appropriées pour l'utilisateur qui exécute le démon de transmission.
  5. Démarrez le démon de transmission sudo service transmission-daemon start
Terry
la source
1
Ça ne marchera pas. Ici, l'utilisateur transmission-daemon ou root possède également "/var/lib/transmission-daemon/info/settings.json" et si vous modifiez le démon pour qu'il s'exécute en tant que $ USER, cela donnera Couldn't read "/var/lib/transmission-daemon/info/settings.json": Permission denied. Cela a en quelque sorte fonctionné dans votre système, mais ce n'est pas la bonne façon de le faire.
Khurshid Alam
Cela fonctionne, merci. Et si vous utilisez, systemdvous devez modifier le Usersous [Service]à /lib/systemd/system/transmission-daemon.service.
zer09
4

Vérifiez si vous utilisez un dossier "incomplet". L'erreur peut être trompeuse dans ce cas et il peut s'agir du dossier incomplet auquel vous n'avez pas accès en écriture.

blockdor
la source
2
c'était mon cas: dans les réglages j'avais un mauvais cas pour le dir incomplet. L'erreur était donc doublement trompeuse: l'erreur n'était pas dans le répertoire qu'elle indiquait et l'erreur aurait dû être "introuvable" et non "autorisation refusée"
Riccardo Cossu
2
C'était mon problème! Il avait été réinitialisé sur / root / incomplet, ce qui n'est évidemment pas accessible en écriture!
Pez Cuckow
1
Ce que @RiccardoCossu a dit. Je ne peux pas voter assez.
rocketboy
1

Cela m'est juste arrivé. J'ai trouvé cette page, j'ai été intimidé par tout le jargon, j'ai donc redémarré Transmission, réservé le fichier torrent à un emplacement différent et enregistré les données du torrent au même emplacement différent (bureau). Fonctionné comme un charme ...

Alexia
la source
0

Il peut s'agir d'un problème de profil d'aparmeur. La transmission s'exécute sous le sanitized_helperprofil dans apparmor.

Recherchez les plaintes dans /var/log/kern.log. grep transm /var/log/kern.log, en particulier juste après avoir tenté d'exécuter la transmission et l'échec.

Jim Salter
la source
0

Comme il s'agit du meilleur résultat de recherche dans Google, pour tous ceux qui lisent ceci, je passe plus d'une heure à essayer de le faire fonctionner. Il s'avère que le dossier de téléchargements spécifié dans settings.json est "Téléchargements" au lieu de "téléchargements". Notez le cas.

SomeGuest1425125125
la source
0

Dans mon cas, le problème était de savoir comment le lecteur était monté. L'utilisation de cela a /etc/fstabfonctionné pour moi:

UUID=2069-1A05  /mnt/ext   vfat   rw,user,exec,umask=0000   0   0
davidcm
la source
Un peu de contexte pourrait aider ici ( vfat? Pas un système de fichiers Linux typique) - quel était votre scénario, qu'est-ce qui ne fonctionnait pas exactement et comment cela a-t-il corrigé?
Zanna
0

Le montage du lecteur externe dans mon répertoire personnel a résolu ce problème;

sudo mkdir / home / plex / media-server

sudo chmod 770 / home / plex / media-server

montage sudo / dev / sdxx / / home / plex / media-drive

Remarque. sdxx est le nom de votre disque dur. vous pouvez utiliser la commande suivante pour trouver la vôtre;

sudo blkid

liquidbender
la source
-1

J'ai eu le même problème, et c'était une erreur que j'avais commise lors de la liaison du répertoire de téléchargement de la transmission à mon répertoire home / user /, j'ai changé la propriété du fichier lié qui, par conséquent, a également changé la propriété de la transmission '' télécharger le répertoire ...

Je viens de me réapproprier la propriété de 'debian-transmission' et cela a fonctionné comme un charme (sans avoir besoin de redémarrer le service)

#chown debian-transmission:debian-transmission /var/lib/transmission/downloads

(eh bien, vous devrez vérifier selon votre propre distribution linux quel est le bon propriétaire et éventuellement votre bon chemin vers le répertoire de téléchargements)

baobab33
la source
-1

J'ai eu un problème similaire avec la transmission. J'ai obtenu une erreur d'autorisation lors du téléchargement, même avec les paramètres d'autorisation de dossier corrects sur le disque dur USB externe.

Je viens de monter le disque dur externe sur le /home/pi/avec les mêmes autorisations et cela a bien fonctionné.

mount /dev/sda /home/pi/USB-HDD-MOUNTED

les autorisations sont drwxrwxrwx (0777) pi:debian-transmission. le nom d'utilisateur est changé en piin /etc/init.d/transmisssion-daemon.

Akos
la source