I installed Xubuntu and transmission daemon, set the download path to my home/user/TV shows, and get a permission denied when trying to download torrents through the transmission.
I tried chmod -r 777 on this folder without success.
Please help!
Following is the output of ps -ef | grep transmission
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 6 14 Answers
Assuming the path to the download folder is /home/chen/TV shows, run the following:
add chen to the debian-transmission group
sudo usermod -a -G debian-transmission chenchange the folder ownership
sudo chgrp debian-transmission /home/chen/TV\ showsgrant write access to the group
sudo chmod 770 /home/chen/TV\ showsStop the deamon with
sudo service transmission-daemon stopThe last thing to do is change the file creation mask, so that the downloaded files would be writeable by chen.
sudo nano /etc/transmission-daemon/settings.json… and change
"umask": 18to"umask": 2. Hit Ctrl+O to save and Ctrl+X to exit.
Start the daemon with
sudo service transmission-daemon start 7 Check if you're using an "incomplete" folder. The error can be misleading in this case and it may be the incomplete folder you do not have write access to.
4This is a permission issue based on the user ID that is running Transmission. Transmission sets up a default user that you might not expect on first install. The user name is debian-transmission.
I will explain how to change that:
- Stop the Transmission daemon
sudo service transmission-daemon stop - Open the Transmission config file for editing:
sudo nano /etc/init.d/transmission-daemon - Find the line that says
USER=debian-transmissionand change it to the user that owns the folder in question. If you are not concerned about security issues, you can also useUSER=rootin this file. (Not advised, but good for troubleshooting). - Alternatively (instead of point number 3), modify the /etc/fstab folder to mount the folder with correct permissions for the user that runs the transmission-daemon.
- Start the Transmission daemon
sudo service transmission-daemon start
This just happened to me. I found this page, was intimidated by all the jargon, so I restarted Transmission, reserved the torrent file to a different location, and saved the torrent data to the same different location (desktop). Worked like a charm...
Since this is the top search result in Google, for anyone reading this, I spend over an hour trying to get it to work. Turns out, the downloads folder specified in settings.json is "Downloads" instead of "downloads". Note the case.
This might be an apparmor profile problem. Transmission runs under the sanitized_helper profile in apparmor.
Look for complaints in /var/log/kern.log. grep transm /var/log/kern.log, particularly just after trying to run transmission and it failing.
In my case the problem was how the drive was being mounted. Using this in /etc/fstab worked for me:
UUID=2069-1A05 /mnt/ext vfat rw,user,exec,umask=0000 0 0 1 Make sure that the path for your incomplete torrents is absolute. My main directory was using ~/path-to-download, which gave me an error. My incomplete directory was ~/path-to-download/incomplete.
I received an error the first time I tried to download a torrent not using an absolute directory. I fixed that, but kept receiving a permission denied error, even after adding the correct permissions. Once I fixed my incomplete path to an absolute path, everything worked.
my problem was that transmission somehow was running as the user "transmissions-daemon" instead of the user it was supposed to run with.
Mounting the external drive into my home directory resolved this issue;
sudo mkdir /home/plex/media-server
sudo chmod 770 /home/plex/media-server
sudo mount /dev/sdxx/ /home/plex/media-drivesdxx is the name of your hdd. you can use the following command to find yours:
lsblk Try this:
sudo setfacl -m u:debian-transmission:rxw /home/*your user*/*your path to folder* 1 None of these suggestions worked for me so I just set fstab to use transmission-daemon's default download directory as the mountpoint to mount my USB stick.
- First I set the ownership of my USB stick to match that of the default download directory:
sudo chown debian-transmission:debian-transmission /media/pi/[mountpoint]/
- Edit fstab:
sudo nano /etc/fstab
Insert the following text:
UUID=[insert device UUID here] /var/lib/transmission-daemon/downloads ext4 rw,user,exec 0 0
Note: you can find your USB sticks UUID by running sudo blkid
- Reboot the system:
sudo reboot
- You can test whether it is writing data to your USB stick by running
df -haand checking whether the data written to your USB stick increases when you add a new torrent. Note that the data increase happens all at once when you add a new torrent and NOT gradually as the torrent downloads.
I had same issue, and that was a mistake I had made when sym-linking the transmission download directory to my home/user/ directory, I changed the ownership of the sym-linked file which by consequence also changed the ownership of the transmission 'download' directory...
I just chowned back to 'debian-transmission' ownership and it worked like a charm (without need to restart service)
#chown debian-transmission:debian-transmission /var/lib/transmission/downloads(well, you'll have to check according your own linux distribution what is the right owner and eventually also your right path to the downloads directory)
I had similar issue with transmission. I got Permission Error while downloading even with correct folder permission settings on the external USB HDD.
I just mounted the external HDD to the /home/pi/ with the same permissions and it worked fine.
mount /dev/sda /home/pi/USB-HDD-MOUNTEDpermissions are drwxrwxrwx (0777) pi:debian-transmission.
user name is changed to pi in /etc/init.d/transmisssion-daemon.