Autorizzazione negata durante il download con il deamon di trasmissione


24

Ho installato xubuntu e demone di trasmissione, impostato il percorso di download per i miei programmi home / user / TV e mi viene negata l'autorizzazione quando provo a scaricare torrent attraverso la trasmissione.

Ho provato chmod -r 777su questa cartella senza successo.

per favore aiuto!

output di ps -ef | trasmissione 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

Puoi aggiungere l'output di ps -ef | grep transmissionalla domanda. Non credo che il daemon di trasmissione abbia il diritto di scrivere nelle directory home per impostazione predefinita.
mikewhatever,

L'ho aggiunto, come posso aggiungere autorizzazioni a questo utente?
Chen Kinnrot,

Bene, ero dopo il nome dell'utente in cui viene eseguito, ma non viene mostrato. Prova ps aux | grep transmissioninvece.
mikewhatever,

Hm ..., sembra che il suo nome utente sia 109 - un po 'strano.
mikewhatever,

Questo è davvero bizzarro, ma dovrebbe funzionare sotto debian-transmission, non so perché mostri un numero stupido. Puoi verificarlo con id debian-transmission.
mikewhatever,

Risposte:


47

Supponendo che il percorso della cartella di download sia /home/chen/TV shows, eseguire quanto segue:

  • aggiungi chen al gruppo di trasmissione debian

    sudo usermod -a -G debian-transmission chen
    
  • cambia la proprietà della cartella

    sudo chgrp debian-transmission /home/chen/TV\ shows
    
  • concedere l'accesso in scrittura al gruppo

    sudo chmod 770 /home/chen/TV\ shows
    
  • Ferma il demone con

    sudo service transmission-daemon stop
    
  • L'ultima cosa da fare è cambiare la maschera di creazione del file, in modo che i file scaricati siano scrivibili da Chen.

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

    ... e cambia "umask": 18in "umask": 2. Premi Ctrl+ Oper salvare e Ctrl+ Xper uscire.

Inizia il demone con

sudo service transmission-daemon start

Nel caso in cui qualcuno tenti di cdaccedere alla propria directory subito dopo aver ricevuto questa autorizzazione e ricevere un'autorizzazione negata, disconnettersi e accedere nuovamente. La mia sessione SSH non aveva le autorizzazioni giuste per accedere alla cartella dopo che la proprietà della cartella era stata assegnata al debian-tranmissiongruppo (dal momento che il mio utente non era stato aggiunto a quel gruppo fino al prossimo accesso)
matrixanomaly

Funziona fino a quando non ho bisogno di creare una nuova cartella (ad esempio i file del torrent sono nidificati). Quindi mi viene negata un'altra autorizzazione.
GDorn

@GDorn Non dovrebbe essere così. "umask": 2si traduce in autorizzazioni di 774, o rwxrwxr--, il che significa accesso folle per proprietario e gruppo.
mikewhatever,

Risposta utile, ma, forse, posso suggerire una risposta alla risposta: ho avuto problemi con /var/lib/transmission-daemon/.config/transmission-demon/torrents. Questa directory non aveva il permesso di scrivere. Modificandoli tutti si è dichiarato funzionante.
LP

6

Si tratta di un problema di autorizzazione basato sull'ID utente che esegue la trasmissione. Trasmissione imposta un utente predefinito che non ti aspetti dalla prima installazione. Il nome utente è debian-transmission.

Spiegherò come cambiarlo:

  1. Ferma il demone di trasmissione sudo service transmission-daemon stop
  2. Aprire il file di configurazione della trasmissione per la modifica: sudo nano /etc/init.d/transmission-daemon
  3. Trova la riga che dice USER=debian-transmissione modificala per l'utente che possiede la cartella in questione. Se non sei preoccupato per problemi di sicurezza, puoi anche usarlo USER=rootin questo file. (Non consigliato, ma buono per la risoluzione dei problemi).
  4. In alternativa (anziché il punto numero 3), modificare la cartella / etc / fstab per montare la cartella con le autorizzazioni corrette per l'utente che esegue il daemon di trasmissione.
  5. Avviare il daemon di trasmissione sudo service transmission-daemon start

1
Non funzionerà Qui o l'utente transmission-daemon o root possiede anche "/var/lib/transmission-daemon/info/settings.json" e se cambi il demone per farlo funzionare come $ USER, lo darà Couldn't read "/var/lib/transmission-daemon/info/settings.json": Permission denied. In qualche modo ha funzionato nel tuo sistema, ma questo non è il modo corretto di farlo.
Khurshid Alam,

Funziona, grazie. E se systemdstai usando dovresti modificare il Usersotto [Service]a /lib/systemd/system/transmission-daemon.service.
zer09

4

Controlla se stai utilizzando una cartella "incompleta". L'errore può essere fuorviante in questo caso e potrebbe essere la cartella incompleta a cui non si ha accesso in scrittura.


2
quello era il mio caso: nelle impostazioni avevo un caso sbagliato per la directory incompleta. Quindi l'errore era doppiamente fuorviante: l'errore non era nella directory che l'errore stava dicendo e l'errore avrebbe dovuto essere "non trovato" e non "permesso negato"
Riccardo Cossu

2
Questo era il mio problema! Si era reimpostato su / root / incompleto, che ovviamente non è scrivibile!
Pez Cuckow,

1
Cosa ha detto @RiccardoCossu. Non posso votare abbastanza.
Rocketboy,

1

Questo mi è appena successo. Ho trovato questa pagina, sono stato intimidito da tutto il gergo, quindi ho riavviato la trasmissione, riservato il file torrent in una posizione diversa e salvato i dati torrent nella stessa posizione diversa (desktop). Ha funzionato come un fascino ...


0

Questo potrebbe essere un problema relativo al profilo di apparmor. La trasmissione viene eseguita sotto il sanitized_helperprofilo in apparmor.

Cerca i reclami in /var/log/kern.log. grep transm /var/log/kern.log, in particolare subito dopo aver provato a eseguire la trasmissione e questa non riesce.


0

Poiché questo è il principale risultato di ricerca in Google, per chiunque legga questo, passo più di un'ora a cercare di farlo funzionare. Si scopre che la cartella dei download specificata in settings.json è "Download" anziché "download". Nota il caso.


0

Nel mio caso il problema era come si montava l'unità. Usando questo ha /etc/fstabfunzionato per me:

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

Un po 'di contesto potrebbe aiutare qui ( vfat? Non un tipico filesystem Linux) - qual era il tuo scenario, cosa non funzionava esattamente e come è stato risolto?
Zanna,

0

Il montaggio dell'unità esterna nella mia home directory ha risolto questo problema;

sudo mkdir / home / plex / media-server

sudo chmod 770 / home / plex / media-server

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

Nota. sdxx è il nome del tuo hdd. puoi usare il seguente comando per trovare il tuo;

sudo blkid


-1

Ho avuto lo stesso problema e questo è stato un errore che ho commesso durante il collegamento simbolico della directory di download della trasmissione alla mia directory home / utente /, ho modificato la proprietà del file sym-linked che, di conseguenza, ha cambiato anche la proprietà della trasmissione " scarica 'directory ...

Sono appena tornato alla proprietà 'debian-transmission' e ha funzionato come un incantesimo (senza bisogno di riavviare il servizio)

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

(beh, dovrai controllare in base alla tua distribuzione linux qual è il proprietario giusto ed eventualmente anche il tuo giusto percorso nella directory dei download)


-1

Ho avuto un problema simile con la trasmissione. Errore di autorizzazione durante il download anche con le impostazioni di autorizzazione della cartella corrette sull'HDD USB esterno.

Ho appena montato l'HDD esterno /home/pi/con le stesse autorizzazioni e ha funzionato bene.

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

le autorizzazioni sono drwxrwxrwx (0777) pi:debian-transmission. il nome utente è cambiato in piin /etc/init.d/transmisssion-daemon.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.