Erlaubnis verweigert beim Download mit Transmission Deamon


24

Ich habe xubuntu und den Übertragungs-Daemon installiert, den Download-Pfad zu meiner Homepage / Benutzer / TV-Sendung festgelegt und eine Erlaubnis verweigert, wenn ich versuche, Torrents über die Übertragung herunterzuladen.

Ich habe chmod -r 777diesen Ordner ohne Erfolg ausprobiert .

bitte hilf!

Ausgabe von ps -ef | grep übertragung

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

Können Sie die Ausgabe von ps -ef | grep transmissionzur Frage hinzufügen? Ich glaube nicht, dass der Transmission-Daemon das Recht hat, standardmäßig in Home-Verzeichnisse zu schreiben.
mikewhatever 23.11.12

Ich habe es hinzugefügt. Wie füge ich diesem Benutzer Berechtigungen hinzu?
Chen Kinnrot

Nun, ich war hinter dem Namen des Benutzers her, unter dem es läuft, aber es wird nicht angezeigt. Versuchen Sie es ps aux | grep transmissionstattdessen.
mikewhatever 23.11.12

Hm ... es sieht aus wie sein Benutzername es 109 - irgendwie seltsam.
mikewhatever 23.11.12

Das ist wirklich bizarr, aber es sollte unterlaufen debian-transmission, nicht sicher, warum es eine dumme Zahl zeigt. Sie können dies mit bestätigen id debian-transmission.
mikewhatever 23.11.12

Antworten:


47

Angenommen, der Pfad zum Download-Ordner lautet /home/chen/TV shows:

  • füge chen der debian-transmission-gruppe hinzu

    sudo usermod -a -G debian-transmission chen
    
  • Ändern Sie den Ordnerbesitz

    sudo chgrp debian-transmission /home/chen/TV\ shows
    
  • Erteilen Sie der Gruppe Schreibzugriff

    sudo chmod 770 /home/chen/TV\ shows
    
  • Stoppen Sie den Deamon mit

    sudo service transmission-daemon stop
    
  • Als letztes müssen Sie die Dateierstellungsmaske so ändern, dass die heruntergeladenen Dateien von chen beschrieben werden können.

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

    … Und wechseln "umask": 18zu "umask": 2. Drücken Sie Ctrl+ Ozum Speichern und Ctrl+ Xzum Beenden.

Starten Sie den Daemon mit

sudo service transmission-daemon start

Falls jemand versucht, cddirekt danach in sein Verzeichnis zu gelangen und eine verweigerte Berechtigung erhält, melden Sie sich ab und melden Sie sich erneut an. Meine SSH-Sitzung hatte nicht die richtigen Berechtigungen, um auf den Ordner zuzugreifen, nachdem der debian-tranmission
Ordnerbesitz der

Dies funktioniert so lange, bis ich einen neuen Ordner erstellen muss (z. B. sind die Dateien des Torrents verschachtelt). Dann bekomme ich eine weitere Erlaubnis verweigert.
GDorn

@GDorn Das sollte nicht der Fall sein. "umask": 2übersetzt in Berechtigungen von 774 oder rwxrwxr--, was Narrenzugriff für Eigentümer und Gruppe bedeutet.
mikewhatever

Nützliche Antwort, aber vielleicht kann ich eine Änderung der Antwort vorschlagen: Ich hatte Probleme mit /var/lib/transmission-daemon/.config/transmission-demon/torrents. Dieses Verzeichnis hatte keine Schreibberechtigung. Ändern Sie sie alle angegeben, um zu arbeiten.
LPs

6

Dies ist ein Berechtigungsproblem, das auf der Benutzer-ID basiert, unter der Transmission ausgeführt wird. Transmission richtet einen Standardbenutzer ein, den Sie bei der Erstinstallation möglicherweise nicht erwarten. Der Benutzername lautet debian-transmission.

Ich werde erklären, wie man das ändert:

  1. Stoppen Sie den Transmission Daemon sudo service transmission-daemon stop
  2. Öffnen Sie die Übertragungskonfigurationsdatei zum Bearbeiten: sudo nano /etc/init.d/transmission-daemon
  3. Suchen Sie die Zeile mit der Aufschrift USER=debian-transmissionund ändern Sie sie in den Benutzer, dem der betreffende Ordner gehört. Wenn Sie nicht über Sicherheitsprobleme besorgt sind, können Sie auch USER=rootin dieser Datei verwenden. (Nicht empfohlen, aber gut für die Fehlerbehebung).
  4. Ändern Sie alternativ (anstelle von Punkt 3) den Ordner / etc / fstab, um den Ordner mit den richtigen Berechtigungen für den Benutzer bereitzustellen, der den Übertragungsdämon ausführt.
  5. Starten Sie den Transmission Daemon sudo service transmission-daemon start

1
Das geht nicht Hier besitzt entweder der Benutzer transmission-daemon oder root auch "/var/lib/transmission-daemon/info/settings.json" und wenn Sie den Daemon so ändern, dass er als $ USER ausgeführt wird, gibt es Couldn't read "/var/lib/transmission-daemon/info/settings.json": Permission denied. Es hat irgendwie in Ihrem System funktioniert, aber dies ist nicht der richtige Weg, um es zu tun.
Khurshid Alam

Es funktioniert, danke. Und wenn Ihr mit systemdIhnen die bearbeiten sollte Userunter [Service]an /lib/systemd/system/transmission-daemon.service.
23.11.09

4

Überprüfen Sie, ob Sie einen "unvollständigen" Ordner verwenden. In diesem Fall kann der Fehler irreführend sein, und es kann sich um den unvollständigen Ordner handeln, auf den Sie keinen Schreibzugriff haben.


2
das war mein fall: in den einstellungen hatte ich einen falschen fall für das unvollständige dir. Der Fehler war also doppelt irreführend: Der Fehler befand sich nicht in dem Verzeichnis, das der Fehler angab, und der Fehler sollte "nicht gefunden" und nicht "Erlaubnis verweigert" worden sein
Riccardo Cossu

2
Das war mein Problem! Es wurde auf / root / incomplete zurückgesetzt, was offensichtlich nicht beschreibbar ist!
Pez Cuckow

1
Was @ RiccardoCossu gesagt hat. Ich kann nicht genug dafür.
Rocketboy

1

Das ist mir gerade passiert. Ich fand diese Seite, war von allem eingeschüchtert, also startete ich Transmission neu, reservierte die Torrent-Datei an einem anderen Ort und speicherte die Torrent-Daten an demselben anderen Ort (Desktop). Lief wie am Schnürchen...


0

Dies ist möglicherweise ein Problem mit dem Apparmor-Profil. Die Übertragung erfolgt sanitized_helperim Apparmor unter dem Profil.

Suchen Sie nach Beschwerden in /var/log/kern.log. grep transm /var/log/kern.logBesonders kurz nach dem Versuch, die Übertragung zu starten, und wenn dies fehlschlägt.


0

Da dies das beste Suchergebnis in Google ist, verbringe ich über eine Stunde damit, es zum Laufen zu bringen. Es stellte sich heraus, dass der in settings.json angegebene Download-Ordner "Downloads" anstelle von "downloads" ist. Beachten Sie den Fall.


0

In meinem Fall war das Problem, wie das Laufwerk gemountet wurde. Das /etc/fstabhat bei mir funktioniert:

UUID=2069-1A05  /mnt/ext   vfat   rw,user,exec,umask=0000   0   0

Ein bisschen Kontext könnte hier helfen ( vfat? Kein typisches Linux-Dateisystem) - Was war Ihr Szenario, was genau funktionierte nicht und wie wurde das behoben?
Zanna

0

Durch das Einbinden des externen Laufwerks in mein Basisverzeichnis wurde dieses Problem behoben.

sudo mkdir / home / plex / media-server

sudo chmod 770 / home / plex / media-server

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

Hinweis. sdxx ist der Name Ihrer Festplatte. Sie können den folgenden Befehl verwenden, um Ihren zu finden.

sudo blkid


-1

Ich hatte das gleiche Problem, und das war ein Fehler, den ich gemacht hatte, als ich das Download-Verzeichnis der Übertragung mit meinem Home- / Benutzer- / Verzeichnis sym-verknüpfte. Ich habe den Besitz der sym-verknüpften Datei geändert, wodurch sich auch der Besitz der Übertragung änderte. ' Download 'Verzeichnis ...

Ich bin gerade in den Besitz von 'debian-transmission' zurückgekehrt und es hat wie ein Zauber funktioniert (ohne dass der Dienst neu gestartet werden muss)

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

(Nun, Sie müssen nach Ihrer eigenen Linux-Distribution überprüfen, was der richtige Besitzer ist und schließlich auch Ihren richtigen Pfad zum Download-Verzeichnis)


-1

Ich hatte ein ähnliches Problem mit der Übertragung. Ich habe einen Berechtigungsfehler beim Herunterladen erhalten, obwohl die Einstellungen für die Ordnerberechtigung auf der externen USB-Festplatte korrekt sind.

Ich habe gerade die externe Festplatte /home/pi/mit den gleichen Berechtigungen auf die gemountet und es hat einwandfrei funktioniert.

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

Berechtigungen sind drwxrwxrwx (0777) pi:debian-transmission. Benutzername wird geändert piin /etc/init.d/transmisssion-daemon.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.